jquery怎样给动态添加的元素绑定事件? jqueryjavascripthtml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <body><div data-role="page" id="page"> <div data-role="header"> <h1>测试</h1> </div> <div class="a" data-role="content"> <a id="btn" href="#" data-role="button">按钮</a> </div> </div> <script type="text/javascript"> $(document).ready(function() { $("#btn").each(function() { $(this).click(function(){// $("#btn").hide(); $(".a").append($("<a href='#' data-role='button'>按钮</a>").click(function(){alert(11)})); }); }); }); </script></body> on只能在已有的元素上添加事件,如果是动态添加的元素。可以用live或delegate . 如果通过changePage等方式,你这是无效的,因为你的script不在page里面 $("a").on("click",function(){alert("aaa");}); //把这行改成下面的就行了:$(".a").delegate("a","click",function(){alert("aaa");}); 请问live怎么实现啊,我用live不行,用delegate就行,不是说live在现在的jquery中都被on代替了么? $(document).on('click','a',function(){alert(111)}) 放里面也不行呢~你把页面切换的贴出来。如果是changepage,是不执行$(document).ready的需要放置jquery mobile中的pagebeforecreate,pagecreate,pageinit等事件里面 放里面也不行呢~你把页面切换的贴出来。如果是changepage,是不执行$(document).ready的需要放置jquery mobile中的pagebeforecreate,pagecreate,pageinit等事件里面我没有切换页面,就是直接在原来的基础上添加了一个按钮。 谢谢啦,这方法有用!我听网上说on可以绑定未来添加的元素,不知道怎么回事。on也是不行的,以前的旧版本jquery用live就可以,但是现在的新版本都删除了这个功能,因为性能不好! $(".a").on("click",“a”,function(){alert("aaa");}); $(".a").on("click",“a”,function(){alert("aaa");}); $(".a").on('click','a',function(){alert(111)}) 请教如何使用正则表达式匹配ip地址有效范围 两个函数中都有变量the_name并声明了。如果在不同的函数中使用相同的变量the_name是不是合法的?? 表单提交问题。在线等。 求对输入值是否为数值的检查方法,是用正则式吧? 请问这个日期控件效果是用什么js框架做到的?MobiScroll么? 在程序中如何触发一个控件的事件 奇怪的问题 急需一个统计网站浏览次数的计数器,最好漂亮点,好用就给分! 如何读取一个页面的源代码 iframe 莫名奇妙弹出页面 更改百度搜索表单 请教Extjs 2.2.1 如何实现树形下拉框、表单下拉框?
<div data-role="page" id="page">
<div data-role="header">
<h1>测试</h1>
</div>
<div class="a" data-role="content">
<a id="btn" href="#" data-role="button">按钮</a>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#btn").each(function() {
$(this).click(function(){
// $("#btn").hide();
$(".a").append($("<a href='#' data-role='button'>按钮</a>").click(function(){alert(11)}));
});
});
});
</script>
</body>
$("a").on("click",function(){alert("aaa");}); //把这行改成下面的就行了:
$(".a").delegate("a","click",function(){alert("aaa");});
请问live怎么实现啊,我用live不行,用delegate就行,不是说live在现在的jquery中都被on代替了么?
放里面也不行呢~
你把页面切换的贴出来。如果是changepage,是不执行$(document).ready的
需要放置jquery mobile中的pagebeforecreate,pagecreate,pageinit等事件里面
放里面也不行呢~
你把页面切换的贴出来。如果是changepage,是不执行$(document).ready的
需要放置jquery mobile中的pagebeforecreate,pagecreate,pageinit等事件里面我没有切换页面,就是直接在原来的基础上添加了一个按钮。
谢谢啦,这方法有用!我听网上说on可以绑定未来添加的元素,不知道怎么回事。on也是不行的,以前的旧版本jquery用live就可以,但是现在的新版本都删除了这个功能,因为性能不好!
$(".a").on("click",“a”,function(){alert("aaa");});
$(".a").on("click",“a”,function(){alert("aaa");});
$(".a").on('click','a',function(){alert(111)})