gpt4 book ai didi

jquery - 为什么重新添加的点击事件没有触发?

转载 作者:太空宇宙 更新时间:2023-11-04 15:38:21 26 4
gpt4 key购买 nike

我的 html 是这样呈现的:

<td colspan="2" onclick="reportTypeClick(this);" class="menuItem oneTest">...</td>

现在我想禁用/启用 td 以及点击事件:

if(...) {
$('.oneTest').removeClass('menuItem').addClass('menuItemDisabled')
.attr('onclick', '');
} else {
$('.oneTest').removeClass('menuItemDisabled').addClass('menuItem')
.attr('onclick', 'reportTypeClick(this);');
}

if 按预期工作,但 else 没有。也就是说,我没有收到任何脚本错误,但事件未能触发。

有什么想法吗?

看起来它与this有关。

最佳答案

您应该删除 onclick 属性并使用 jquery 事件处理..

if(...) {
$('.oneTest').removeClass('menuItem').addClass('menuItemDisabled')
.unbind('click');
} else {
$('.oneTest').removeClass('menuItemDisabled').addClass('menuItem').each(function(){
var _this=this;
$(this).bind('click', function(){ reportTypeClick(_this) ););
});
}

或者,您可以更改您的 reportTypeClick 函数..

function reportTypeClick(element)
{
if ( $(element).is('.menuItemDisabled') ) return; // add this line as the first line ..

// the current body of the function should follow..
}

关于jquery - 为什么重新添加的点击事件没有触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6485580/

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