Javascript jQuery-设置html()后在DOM中注册一个元素
我有一个div,单击按钮后设置innerHTML:Javascript jQuery-设置html()后在DOM中注册一个元素,javascript,jquery,Javascript,Jquery,我有一个div,单击按钮后设置innerHTML: $('#headerDiv').html('Welcome [<a href=\'javascript:void(0);\' id=\'logout_button\'>Logout</a>]'); $('headerDiv').html('Welcome[]); 但是,新元素logout_按钮未在DOM中注册,因此我无法使用传统的$(“#logout_按钮”)捕获单击事件。单击() 使用html()方法设置后,是否可
$('#headerDiv').html('Welcome [<a href=\'javascript:void(0);\' id=\'logout_button\'>Logout</a>]');
$('headerDiv').html('Welcome[]);
但是,新元素logout_按钮
未在DOM
中注册,因此我无法使用传统的$(“#logout_按钮”)捕获单击事件。单击()
使用html()
方法设置后,是否可以在DOM
中注册logout_按钮
谢谢 委派活动
$('#headerDiv').on('click', '#logout_button', function() {
// Your code
});
这将确保通过事件冒泡的概念将事件附加到动态添加的元素。如果委派不是您的爱好,您可以在附加按钮之前将单击处理程序绑定到按钮。通过创建DOM元素并附加它们来实现这一点:
var btn = $('<a />').text('Logout').attr({
"href": "javascript:void(0);",
"id": "logout_button"
}).click(function (e) {
// do logout stuff
e.preventDefault();
return false;
});
$('#headerDiv').append(btn);
var btn=$('').text('Logout').attr({
“href”:“javascript:void(0);”,
“id”:“注销按钮”
})。单击(功能(e){
//做注销的事情
e、 预防默认值();
返回false;
});
$(#headerDiv')。追加(btn);
这还有一个额外的好处,那就是确保向DOM中添加有效元素。Wow。这比我想象的要简单得多。谢谢只要SO允许,我会尽快接受:-)@Sus O.T,我们是否应该开始链接到一个已经存在的答案<代码>;)代码>只有一千种选择。