如何为将通过AJAX加载的元素声明事件处理程序
How to declare event handler for an element which will be loaded via AJAX?
我有一个按钮,点击后使用AJAX <input>
加载。在我连接到页面的JS中有一个事件处理程序。我试图在同一个JS中声明<input>
的事件处理程序,但它们似乎不起作用。
HTML
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="script2.js"></script>
<button>load</button>
JS-
$('button').click(function () {
$.ajax({
url: 'additional.html',
context: document.body,
}).done(function(html) {
$('body').append(html);
})
});
$('input').click(function () {
alert('aasd');
});
我已经制作了测试页面,但只有在将JS插入Chrome的Web控制台后,一切才正常(由于未知原因,<head>
中连接的脚本不起作用)
您应该在您的案例中使用事件委派.on
。请阅读此处以获取关于.on
的完整参考
试试这个,
$(document).on('click','input',function () {
alert('aasd');
});
使用以下代码:
<script type="text/javascript">
$(document).ready(function(){
$('#cl').click(function () {
$.ajax({
url: 'additional.html',
context: document.body,
}).done(function(html) {
$('body').append(html);
})
});
});
$(document).ready(function(){
$('#cl').click(function () {
alert('aasd');
});
});
</script>
<button id="cl">load</button>
相关文章:
- 在样式表中声明元素后,删除该元素的悬停属性
- 在声明js之前,如何在js中使用HTML元素
- 正在使用AngularJS获取集合中的选定元素.声明性方法
- 如何为将通过AJAX加载的元素声明事件处理程序
- 骨干,如何确保在视图中声明的函数只影响该视图中的DOM元素
- 如何在此 var 声明中获取此数组的第一个元素
- 如何在使用 javascript 声明 var 之前检查元素有或没有
- 您可以在向元素声明 id 后立即使用 onClick 吗?
- 什么'在JavaScript中声明带有一些empy元素的数组时会发生这种情况
- 元素声明为变量vs get元素
- 在inspect元素中声明变量时未定义
- 声明一个JavaScript函数,该函数可以隐藏调用HTML元素的标签
- 如何删除由匿名函数声明的元素的事件
- 当一个html元素具有相同的id名称时,如何检查未声明的变量
- 找出元素是否有声明的值
- 声明每个洗牌字符串数组元素
- 为什么当我在页面中声明超过1个单独的引导手风琴(面板-组元素)时,我获得了与opencollapse相关的错误行为
- 可以访问变量中声明的元素的javascript
- jQuery+Module模式:何时声明/查询元素
- 我如何找到<脚本>元素声明我的JavaScript