gpt4 book ai didi

javascript - 尝试取消绑定(bind)点击事件并附加新事件

转载 作者:行者123 更新时间:2023-11-30 21:04:39 26 4
gpt4 key购买 nike

我正在尝试取消绑定(bind)点击事件并在点击一次按钮后附加另一个点击事件。

<small id="selectall_agriculture" onclick="refineSearch.testing('agriculture')">(select all)</small>

测试函数运行后,我希望 selectAllPropertyTypesInGroup() 函数运行,但每次都会调用测试函数。如果我从小标签中取出 onclick 事件并从另一个前端控件触发 setGroupHeaderNotAllSelected() ,则在 setGroupHeaderNotAllSelected() 函数中使用 $('#selectall_' + groupName).click() 创建的点击事件有效.我觉得解除绑定(bind)不起作用,因为点击事件被硬编码到小标签中。有什么建议吗?

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;
});
};

最佳答案

根据 jQuery doc unbind 方法已弃用,使用 off 代替(click 没问题,但您可以 look at on 方法还有)

$('#selectall_' + groupName).off('click').click(function () {
selectAllPropertyTypesInGroup(groupName);
return false;
});

此外,您需要在声明性 onclick 属性集和 jQuery 绑定(bind)之间做出选择。因此,在使用 onclick 属性时,我会在 App 启动时通过脚本添加 hanlder

$('#selectall_agriculture').click(function() { 
refineSearch.testing('agriculture');
});

关于javascript - 尝试取消绑定(bind)点击事件并附加新事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46772907/

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