gpt4 book ai didi

javascript - 我可以在没有 Ender 的情况下将 qwery 与 bean 一起使用吗?

转载 作者:数据小太阳 更新时间:2023-10-29 06:02:14 24 4
gpt4 key购买 nike

我刚刚开始尝试微型库而不是使用 jQuery,我想将 qwery 与 bean 一起使用。如果我设置了 bean.setSelectorEngine(qwery); 为什么以下不起作用?

bean.on('.masthead', 'click', function () {
console.log('click fired');
});

我还在 DOM 实用程序中使用 bonzo,所以我将它设置为使用美元和 qwery,这样我就可以以类似 jQuery 的方式选择元素:例如$('.masthead')

function $(selector) {
return bonzo(qwery(selector));
}

这也行不通。我不能将以下内容与 bean 一起使用吗?

bean.on($('.masthead'), 'click', function () {
console.log('click fired');
});

也许我遗漏了 bean 文档中的一些重要内容。我需要做什么来解决这个问题?

另外,如果可能的话,我尽量避免使用 Ender,我尽量减少我的外部库。

最佳答案

是的,您可以在没有 Ender 的情况下一起使用所有这些库。但是您将不得不自己连接这些库之间的所有连接。

这应该让你开始:

// make Bean and Bonzo use Qwery 
// as their internal selector engine
bean.setSelectorEngine(qwery);
bonzo.setQueryEngine(qwery);

// to use $ instead of bonzo
function $(selector, root) {
return bonzo(qwery(selector, root));
};

// $() will return a bonzo object
// so if you want to be able to use
// bean's methods on the bonzo object
// like $().on()
// you are going to have to extend bonzo
bonzo.aug({
on: function (eventName, callback) {
return this.each(function (elem) {
return bean.on(elem, eventName, callback);
});
},

// do the same for bean's other methods (fire, off, etc)
});

// now you should be able to do this:
$('.masthead').on('click', function () {
console.log('click fired');
});

希望对您有所帮助! :)

关于javascript - 我可以在没有 Ender 的情况下将 qwery 与 bean 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com