我需要将特殊选择器传递给事件处理程序。特殊选择器由函数计算:
var getSelectableItems = function () {
return $('.item').not('.disabled');
}
$(document).ready(function () {
$body = $('body');
$body.on('click', $(getSelectableItems()), function () {
// .. do something
});
});
getSelectableItems()
方法只是一个示例。我的真实代码看起来不同。我的观点是:如何让一个函数返回一个选择器并在显示的那种click事件处理程序中使用这个选择器?
我的当前解决方案会在每次点击/任何DOM元素上触发。但我希望click事件仅在函数返回的DOM元素点击时触发。
答案 0 :(得分:1)
看看是否有效,
$(document).ready(function () {
var dumbVar = $('body');
dumbVar.on('click', $(getSelectableItems()), function () {
// .. do something
});
});
答案 1 :(得分:0)
您可以在所需的选择器上创建单击处理程序(具有类 .item 但没有类 .disabled 的元素):
$(document).ready(function () {
$body = $('body');
$body.on('click', '.item:not(.disabled)', function () {
// .. do something
});
});