gpt4 book ai didi

jquery - 动态按钮会触发两次,为什么?

转载 作者:行者123 更新时间:2023-12-01 04:26:14 25 4
gpt4 key购买 nike

这是我的代码,用于创建动态按钮,单击后应该触发 $('#emailRemoveBtn').live('click', function() 。问题是,它总是触发两次。比如说,我点击按钮一次,但这个函数执行了两次。

有什么想法可能有什么问题吗?

<script>

var tb1 = '<tr ><td width="27" align="left"><img src="icon_mail.png" width="24" height="24"></td><td width="228" align="left">';
var tb2 = '</td><td align="right"><a href="#" id="emailRemoveBtn" data-rembtn="';
var tb3 ='" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-close"></span>remove</a></td></tr>';

var emailArray = new Array();

$('#emailRemoveBtn').live('click', function() { /// WHY DOES THIS EVENT FIRE OFF 2 TIMES?

alert( $(this).data('rembtn') );
//emailArray.splice( $(this).data('rembtn'), 1 );

//var tbl = "";
//for(var i=0;i<emailArray.length;i++)
//{
// tbl = tbl + tb1 + emailArray[i] + tb2 + i + tb3 ; /// "i" is dynamic identifier for "data-rembtn"
//}

//$('#emailList').html(tbl);

});

$('#addEmail').click(function()
{
var tbl = "";
if ( $("#inputEmail").val() != "" )
{

var newadd = true;

for(var i=0;i<emailArray.length;i++)
{
if ( emailArray[i] == $("#inputEmail").val() ) { var newadd = false; }
}

if ( newadd ) { emailArray.push( $("#inputEmail").val() ); } else { alert("no!"); }

for(var i=0;i<emailArray.length;i++)
{
tbl = tbl + tb1 + emailArray[i] + tb2 + i + tb3 ; /// "i" is dynamic identifier for "data-rembtn"
}


$('#emailList').html(tbl);

}
});

</script>

最佳答案

我不明白为什么它会运行两次查看该代码,但感觉它以某种方式绑定(bind)到单击事件两次。

值得尝试看看它是否只触发一次,以及这是否有助于寻找另一个被绑定(bind)的“点击”实例。

$('#emailRemoveBtn').unbind('click').die().live('click', function() { doStuff(); }

关于jquery - 动态按钮会触发两次,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6219458/

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