gpt4 book ai didi

jquery 函数不作为事件处理程序工作

转载 作者:行者123 更新时间:2023-12-01 03:19:54 25 4
gpt4 key购买 nike

谁能告诉我为什么这个功能不起作用?

for(var i=1;i<=12;i++)
{
var btn=$('<div>Button</div>').attr('id', 'id_'+i).button();
btn.css('margin','10px').on('click', showId());
btn.appendTo($('#buttons'));
}

function showId(){
alert($(this).attr('id'))
}

最佳答案

您想要传递该函数,而不是运行它:

btn.css('margin','10px').on('click', showId);
<小时/>

顺便说一句,您还应该缓存您的 $('#buttons'),并使用事件委托(delegate):

var buttons = $('#buttons').on('click', '.ui-button', showId);

for (var i=1; i <= 12; i++)
{
$('<div>Button</div>')
.attr('id', 'id_'+i)
.button()
.css('margin', '10px')
.appendTo( buttons );
}

function showId()
{
alert( this.id );
}

还有一些需要考虑的事情:

  • 将 CSS 移至样式表
  • 一次性将所有按钮附加到 DOM

关于jquery 函数不作为事件处理程序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149732/

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