按钮的动态单击事件
Dynamic click event for buttons
我有一个按钮,它通过data-bind调用一个函数并生成一个新的按钮。
self.submitNewPopUp = function(data, event) {
var butnId = event.srcElement.form.id.replace('style-', '');
var styleButton = $('<input/>').attr({type: 'button', value: data.styleData, id: butnId});
styleButton.onclick = function() {
alert("blabla");
};
$("#showButtons").append(styleButton);
$('#' + event.srcElement.form.id).hide();
};
但是新按钮没有点击事件。怎么做呢?
您将使用jQuery的on()
方法将单击事件侦听器分配给按钮的祖先。例如,如果您的标记是:
<div id="showButtons">
<input type="button" />
</div>
你会使用:
$('#showButtons').on('click', 'input[type=button]', function() { ... });
styleButton
按钮是一个jQuery对象,不是一个dom元素,所以它没有onclick
属性。您需要使用click(function(){})事件注册方法来注册事件处理程序
styleButton.click(function() {
alert("blabla");
});
为动态创建的元素使用jquery.on()
$("#div").on("click", "button", function(event){
alert($(this).text());
});
相关文章:
- 如何使用2个事件单击1个日历
- 在 javascript 事件单击后清空输入
- 在元素 SVG 中使用 JavaScript 或 jQuery 进行事件单击
- fullCalendar动态事件单击行为
- 错误:'这'对象不正确;在JQuery中单击事件-单击时的意外行为
- 如何启用事件单击仅在指定的小时范围内
- 完整日历事件单击未触发
- 打开选择之前的事件.(单击工作速度不够快)
- 在 JavaScript 中,函数不会在事件单击时触发
- 主干分组依据集合仅在一次事件单击后呈现
- 如何禁用地图上的所有鼠标事件(单击、悬停等)
- Fullcalendar将图标添加到事件而不触发事件单击
- 在将JQuery对象添加到DOM之前,请将事件单击到JQuery对象
- 如何模拟拖动事件(单击鼠标移动按钮)
- 如果可编辑为 false,则全日历事件单击处理程序不起作用
- onclick事件单击时未添加类
- 事件单击Kml Placemark
- 事件单击时没有运行数据库
- 在事件单击函数中添加href url
- 创建元素和事件(单击)