事件委托未按预期工作
event delegate not working as expected
我的点击事件中有一个模板,我将其插入当前表行之后,但问题是当你点击新添加的模板时,该模板有一个名为的事件按钮类。添加事件会终止,不再工作,当页面加载模板时,它只工作一次
$('.variations_grid tr td').delegate('.add', 'click', function(e) {
$(this).closest('tr').after(template);
//the buttons int the template don't work on click event
});
var template = '<tr>';
template += '<td class="white-space:nowrap">';
template += '<input type="hidden" name="variationsid" value="1" />';
template += '<button class="btn btn-default btn-block add" type="button"> <span class="glyphicon glyphicon-plus-sign"></span> </button>';
template += '<button class="btn btn-default btn-block remove" type="button"> <span class="glyphicon glyphicon-minus-sign"></span> </button>';
template += '</td>';
template += '<tr>';
对于事件委派,唯一需要注意的是,放置处理程序的DOM元素不能被替换。因此,您必须选择最接近的不会被替换的容器。
例如,如果要替换或添加新的<tr>
或<td>
标记,请不要在这些标记上绑定事件处理程序,否则委派将不起作用。
试试这个(我用on
替换了delegate
,因为delegate
现在不推荐使用):
$('.variations_grid').on('click', '.add', function(e) {
//your logic
});
相关文章:
- Jquery.点击事件不'更改事件后无法工作
- 当我更改innerHtml时,引导选项卡事件不再工作
- IE8更改文本区域上的事件侦听器不工作
- xPages标签onclick事件不'不要在空白处工作
- 为什么此事件侦听器不工作
- 主干点击事件按钮不工作
- 为什么动态加载的事件在我的代码中不能正常工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 谷歌分析跟踪内部链接不正常工作的事件
- java脚本点击事件处理程序不工作
- javascript中无法正常工作的事件顺序
- MS Dynamics CRM 2016-addOnKeyPress事件不工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- jQuery点击()事件在另一个点击()中获胜'我不能在手机上工作
- 如何使参数在事件函数中工作
- JavaScript's onmouseout事件未按预期工作
- CSS + jQ插件阻止AJAX调用/事件侦听器工作
- JavaScript on Click 事件在 img 标签上无法正常工作
- 脚本在“点击”下工作事件,但不是单独的(Backbone.js)
- 一些javascript代码不工作-事件处理程序'onclick'中的if()语句