我试图取消绑定点击事件,并在点击按钮一次后附加另一个点击事件。
<small id="selectall_agriculture" onclick="refineSearch.testing('agriculture')">(select all)</small>
运行测试函数后,我想运行selectAllPropertyTypesInGroup()函数,而是每次都调用测试函数。如果我从小标签中取出onclick事件并从另一个前端控件触发setGroupHeaderNotAllSelected(),则在setGroupHeaderNotAllSelected()函数中使用$('#selectall_'+ groupName).click()创建的click事件可以正常工作。我觉得unbind不起作用,因为click事件被硬编码到小标签中。有什么建议吗?
refineSearch.testing = function (groupName) {
console.log("Click event from front end running instead of the one binded");
setGroupHeaderNotAllSelected (groupName);
};
var setGroupHeaderNotAllSelected = function (groupName) {
$('#selectall_' + groupName).unbind('click');
$('#selectall_' + groupName).click(function () {
selectAllPropertyTypesInGroup(groupName);
return false;
});
};
答案 0 :(得分:1)
每unbind
个off
方法已被弃用,请改用click
(on
,但您可以使用jQuery doc $('#selectall_' + groupName).off('click').click(function () {
selectAllPropertyTypesInGroup(groupName);
return false;
});
方法)
onclick
此外,您需要在声明性onclick
属性集和jQuery绑定之间进行选择。因此,在$('#selectall_agriculture').click(function() {
refineSearch.testing('agriculture');
});
属性使用时,我会在App start
import httplib