javascript - jQuery .html() 中的事件不会检测到

标签 javascript jquery dynamic selector

我正在尝试使用由 .html() 打印的按钮。我在搜索该网站后尝试了 .find() 但似乎仍然未检测到 onclick 事件。

<div id = "div4html">div</div>
<button id="printbtn">printbtn</button>

<script>
$("#printbtn").on( "click", function() {
    $("#div4html").html('<button id ="btntest">btntest</button>');
});

$("#div4html").find("#btntest").on( "click", function() { 
    alert("on click");
});
</script>

虽然 #btntest onclick 不显示警报,但 #btntest 上的 CSS 可以工作。 关于动态创建的元素,我不知道什么?

最佳答案

你不能这样做,因为默认情况下,js 甚至不处理新创建的内容中的事件。

方法如下:

$("#div4html").on('click', "#btntest" , function() {
// Your code
}

关于javascript - jQuery .html() 中的事件不会检测到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43884454/

相关文章:

javascript - 单击按钮更改 UI 布局

jquery - 如何在 NivoSlider 中从 mysql 数据库加载图像

javascript - 我定制的欧芹新违规不起作用

java - 如何在运行时将 Class<T> 转换为类似于 Class<T extends Foo> 的对象?

javascript - 动态调整 iframe 的高度

javascript - Expressjs 中的 HTTP PUT 请求

javascript - jquery动态创建html元素

javascript - 发生未捕获的异常时重新启动 Node.js 应用程序

jquery - jquery 可排序的 TinyMCE 实例

php - php函数中的动态参数