作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 html 文件和一个使用 Jquery 2.1.4 的 javascript 文件。 js 在 file1.html 上运行:
file1.html
<html>
<body id="body">
<p>Some random text</p>
</body>
</html>
file2.html
<button id="btnNewButton">Test</button>
javascript 文件
$(document).ready(function () {
$('<div id="containerName"></div>').appendTo("#body");
$('#containerName').load("file2.html");
});
这个视觉上有效的文件,file2 中的按钮被添加到 file1,但是如果我尝试添加一个事件监听器:
$(document).ready(function () {
$('<div id="containerName"></div>').appendTo("#body");
$('#containerName').load("file2.html");
$("#btnNewButton").click(alert("test1"));
});
看来 javascript 无法通过该 ID 找到新按钮,只会在页面准备就绪时提醒页面。
谁能解释这是为什么,我该如何解决?我查看了其他问题,但没有找到适合我解决此问题的答案。
最佳答案
用 .load()
的 complete
回调注册点击事件处理程序
.load( url [, data ] [, complete ] )
网址
类型:字符串
包含请求发送到的 URL 的字符串。
数据
类型:PlainObject 或 String
随请求一起发送到服务器的普通对象或字符串。
完成
类型:函数(字符串 responseText,字符串 textStatus,jqXHR jqXHR)请求完成时执行的回调函数。
$('#containerName').load("file2.html", function() {
$("#btnNewButton").on("click", function() {
alert("test1");
});
});
关于javascript - 选择已使用 Jquery 的 .load 加载到页面上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31626105/
我是一名优秀的程序员,十分优秀!