gpt4 book ai didi

jQuery 解除绑定(bind)没有按我的预期工作

转载 作者:行者123 更新时间:2023-12-01 00:58:10 26 4
gpt4 key购买 nike

我有这个jquery

$('input#application_submit.bigbutton[value=Agree]').click(function(e){
e.preventDefault();
var reason = $('.agree_reason:visible');
var reason_text = $('.agree_reason:visible textarea');
if(reason.length == 0){
$('.agree').show();
}else{
if(reason_text.val() == ''){
$('.agree').show();
$('#application_agree').css('border', '1px solid #CC0000');
$('.agree_validation_message').show();
}else{
$('input#application_submit.bigbutton[value=Agree]').unbind();
$('input#application_submit.bigbutton[value=Agree]').click();
}
}
});

一切都很好,直到解除绑定(bind)......我需要它做的是删除这个处理程序并执行正常的点击事件,但它卡住了我的浏览器,因为我猜它处于无限循环......我曾经尝试过 jQuery diefundtion,但也没有运气......任何想法

最佳答案

您必须将事件类型传递给取消绑定(bind)

$('input#application_submit.bigbutton[value=Agree]').unbind("click");

此外,根据 PeeHaa 的评论,application_submit 是元素 id,并且由于 dom 中的元素是唯一的(或者至少更好),因此您可以将其简化为

$('#application_submit').unbind("click");

您几乎总是最好通过像这样的简单 ID 进行选择,因为 jQuery 可以在幕后遵循 native document.getElementById

另一个改进是:

var reason = $('.agree_reason:visible');
var reason_text = $('textarea', reason); // it is faster to let jQuery search in context

关于jQuery 解除绑定(bind)没有按我的预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761626/

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