14 个解决方案
#1
将js整理成方法放在某个js文件中 引用js目录文件调用里面的方法就行了
#2
打上断点看看为什么不执行了
#3
我就是引用的js文件,放在<head></head>标签里的,然后返回的html中有个<a></a>标签有个onclick事件是注册到这个js文件中的,点击以后死都不促发,而是直接跳转到目标页面了
#4
没用,根本不执行,直接跳转的
#5
出现这种情况应该是脚本出错导致,你先确定Internet选项中是否有把显示错误信息的勾打上,然后测试下加入或去掉ajax异步刷新的代码,看有没有区别,找出错误脚本所在
#6
应该是jquery机制的问题,不好意思没说清楚,因为用了jquery框架,所有事件都是注册在jQuery(function ($){}函数之下的,我猜可能导致了一些加载顺序方面的问题吧?今天不用jquery直接写js注册了一下就可以用了,那这么说来拿ajax返回的标签还不能用jquery注册咯??
#7
你可以先尝试一下把需要用到的js代码放在ajax的success里再运行一次。
第二个。把ajax的同步异步参数改变一下。
第二个。把ajax的同步异步参数改变一下。
#8
设置容器innerHTML,包含的脚本不会执行,要自己正则解析脚本eval执行,或者用jquery,jquery的html方法会自动帮你执行返回的script脚本
#9
ajax 异步加载的html 片段需要用事件委托 live() 或者delegate();
#10
html 片段中<a> 的click 事件 需要用live() 在jQuery(function ($){})函数下绑定,不要用bind()
#11
或者在ajax 获取html 片段成功以后,再进行click 事件绑定
#12
恩确实是这样,但又遇到问题了,今天拿手册上的代码测试了一下上面的代码,浏览器报了个“对象不支持“live”属性或方法”错误。诶心力交瘁啊,用的是IE9,救命啊!我用的是源码呀
$('.clickme').live('click', function() {
alert("Live handler called.");
});
$("#test_b").click(function(){
$(this).parent().append('<a href="http://www.hao123.com" class="rtn_a">我是js添加的超链接</a>');
$(this).append('<div class="clickme">点我点我</div>');
});
<a href="#" class="clickme">wwww</a>
<a id="test_b" href="#">我是另一个测试按钮</a><br/>
#13
委托确实是可以用的可live方法就是过不去
#14
#1
将js整理成方法放在某个js文件中 引用js目录文件调用里面的方法就行了
#2
打上断点看看为什么不执行了
#3
我就是引用的js文件,放在<head></head>标签里的,然后返回的html中有个<a></a>标签有个onclick事件是注册到这个js文件中的,点击以后死都不促发,而是直接跳转到目标页面了
#4
没用,根本不执行,直接跳转的
#5
出现这种情况应该是脚本出错导致,你先确定Internet选项中是否有把显示错误信息的勾打上,然后测试下加入或去掉ajax异步刷新的代码,看有没有区别,找出错误脚本所在
#6
应该是jquery机制的问题,不好意思没说清楚,因为用了jquery框架,所有事件都是注册在jQuery(function ($){}函数之下的,我猜可能导致了一些加载顺序方面的问题吧?今天不用jquery直接写js注册了一下就可以用了,那这么说来拿ajax返回的标签还不能用jquery注册咯??
#7
你可以先尝试一下把需要用到的js代码放在ajax的success里再运行一次。
第二个。把ajax的同步异步参数改变一下。
第二个。把ajax的同步异步参数改变一下。
#8
设置容器innerHTML,包含的脚本不会执行,要自己正则解析脚本eval执行,或者用jquery,jquery的html方法会自动帮你执行返回的script脚本
#9
ajax 异步加载的html 片段需要用事件委托 live() 或者delegate();
#10
html 片段中<a> 的click 事件 需要用live() 在jQuery(function ($){})函数下绑定,不要用bind()
#11
或者在ajax 获取html 片段成功以后,再进行click 事件绑定
#12
恩确实是这样,但又遇到问题了,今天拿手册上的代码测试了一下上面的代码,浏览器报了个“对象不支持“live”属性或方法”错误。诶心力交瘁啊,用的是IE9,救命啊!我用的是源码呀
$('.clickme').live('click', function() {
alert("Live handler called.");
});
$("#test_b").click(function(){
$(this).parent().append('<a href="http://www.hao123.com" class="rtn_a">我是js添加的超链接</a>');
$(this).append('<div class="clickme">点我点我</div>');
});
<a href="#" class="clickme">wwww</a>
<a id="test_b" href="#">我是另一个测试按钮</a><br/>
#13
委托确实是可以用的可live方法就是过不去