我在运行时创建了一组嵌套在其标签中的单选按钮。
然后我关联一个on change事件:它仅在第一次更改时被触发:如果我第二次单击这些单选按钮,它就不会 - 即使在此期间我点击了另一个单选按钮。
我正在使用jQuery 3.x,Bootstrap 3.3.7,并在OSX上的最新Chrome上运行
我应该从哪里开始调查?
答案 0 :(得分:1)
当元素发生更改时,必须将事件侦听器绑定到单选按钮本身,而事件不再被元素侦听。
此问题的解决方案是使用委托。查看下面的文档,因为您使用的是jQuery,
http://api.jquery.com/delegate/
$( "table" ).on( "click", "td", function() {
$( this ).toggleClass( "chosen" );
});
简单来说,委托将事件绑定到父级(不一定是直接的),当目标元素(文档就绪的现有元素或运行时动态生成的元素)被点击时,事件就会冒泡。您的代理人(上面示例代码中的table
)将捕获事件并执行某些任务。