Don'在追加后,我无法处理jQuery代码
Don't work my jQuery code after append
在追加后不要处理我的jQuery代码。如何更改js代码并进行操作?
我不使用来自ide的"#aaa或#sss",不使用它们怎么办?
演示:http://jsfiddle.net/sq4kx/
html:
<a href="" class="qqq">Click Me</a>
<div id="aaa">
<div id="sss">
</div>
</div>
jQuery:
$('.qqq').on('click', function (e) {
e.preventDefault();
$('#sss').empty().append('After typed must result alert: "This is ok" !??<div class="auto_box"><input name="we" class="de1"></div>');
})
$('.auto_box').on('keyup change', '.de1', function () {
alert('This is ok');
})
试试这个吧,
$('#sss').on('keyup change', '.auto_box .de1', function () {
alert('This is ok');
});
演示1
或
$('.qqq').on('click', function (e) {
e.preventDefault();
$('#sss').empty().append('After typed must result alert: "This is ok" !??<div class="auto_box"><input name="we" class="de1"></div>');
// bind event here
$('.auto_box').on('keyup change', '.de1', function () {
alert('This is ok');
});
});
演示2
尝试:
$(document).on('keyup change', '.de1', function () {
alert('This is ok');
});
此处更新了fiddle
用文档替换'.auto_box'
。
$(document).on('keyup change', '.de1', function () {
alert('This is ok');
});
原因:为什么上面的代码有效而你的代码无效
1.您正在动态添加元素。简单地说,在加载DOM时,您附加的元素并不存在。
2.您需要为将来添加的任何元素指定事件委派。我们通常使用的方法(如.click(...) , .on(..)
等)仅适用于当前DOM中的元素。
3.这就是您提供活动授权的方式。
$(文档).on('keyup change','.de1',function(){…})
相关文章:
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在为表单输入分别处理$(this)和$时编写DRY代码
- 为什么我的.blur()代码只处理第二个模糊
- 即使被信号处理程序中断,node.js代码也会一直运行到完成吗
- 通过从文本区域获取代码,在画布中运行处理代码
- 将处理代码链接到 javascript,同时保持 pde 文件的独立
- 处理由无法访问的代码创建的来自Webworker的消息
- 如何删除DOM事件处理程序的重复JavaScript代码
- Promise处理程序中的同步代码
- Don'在追加后,我无法处理jQuery代码
- AJAX自定义错误处理代码问题
- 如何将批处理代码与 vbscript 代码合并
- 处理代码在本地工作,但在javascript中不工作
- 我应该使用Javascript SDK FB处理代码吗?login POP-UP还是自动处理以获得access_toke
- Jquery事件处理代码在将脚本从外部js文件包含在head中之后将无法工作
- 我该如何处理?代码不验证:没有脚本来弥补JS的不足,但也为移动用户提供了便利
- 使用请求/处理代码加载JS数组的更快方法
- 在不处理代码的情况下扩展Markdown标记
- 此事件处理代码是否适用于所有触摸设备