关于JS修改a标签的onclick方法后修改的JS方法不能使用的问题?
本人小白,想问下为什么不行,是本来就这样的问题吗?<astyle="cursor:hand"onclick="onTest(this);">按钮</a>JS原码用的JQU...
本人小白,想问下为什么不行,是本来就这样的问题吗?
<a style="cursor:hand" onclick="onTest(this);">按钮</a>
JS原码用的JQUERY
function onTest(obj){
$(obj).attr("onclick","test('123');");
}
function test(id){
alert(id);
}
点击按钮后,onclick方法改变成test('123')了,但是再点击不能调用test方法。。不能alert。。
弱弱的求解。。
不好意思。。忘说是用IE8了。。 展开
<a style="cursor:hand" onclick="onTest(this);">按钮</a>
JS原码用的JQUERY
function onTest(obj){
$(obj).attr("onclick","test('123');");
}
function test(id){
alert(id);
}
点击按钮后,onclick方法改变成test('123')了,但是再点击不能调用test方法。。不能alert。。
弱弱的求解。。
不好意思。。忘说是用IE8了。。 展开
5个回答
展开全部
需要是js'方法有效,这样的话,a标签的超链接就不可以被触发,因此有两种解决方法。
href="javascript:void()"这样的话,a的超链接就成为了没有作用的空值。
在js方法内部返回一个false值,这样a在被点击的时候方法被触动,接着执行完后返回false给a表示超链接不被启用。
第二种方法好一些,因为可以平稳退化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个例子吧
<a href="javascript: void(0);" id="demo">按钮</a>
$(document).ready(funciton(){
$('#demo').bind('click', evenClick);//第一次点击执行evenClick方法
});
function evenClick() {
//你可以在这里做你想做的事情,比如alert(1);
alert(1);
$(this).unbind('click').bind('click', oddClick);//重新绑定click事件
}
function oddClick() {
//第二次点击的时候你要做什么就写这里,比如alert(2);
alert(2);
$(this).unbind('click').bind('click', evenClick);//重新绑定click事件
}
以上代码没测试,但是应该是点击按钮的时候先弹出1,然后弹出2,再弹出1...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$(obj).attr("onclick","test('123');");
改成
$(obj).attr("onclick",function(){
test('123');
});
改成
$(obj).attr("onclick",function(){
test('123');
});
更多追问追答
追问
可以不直接运行test吗
追答
你点击了按钮以后,obj就拥有了click事件,这个时候,你再点击Obj 对象时,就会触发这个事件。
你描述一下,我看看你打算实现的功能
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用Chrome一直按都没问题
追问
不好意思。。忘说是用IE8了。。
追答
firefox、chrome、ie6都没事....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
反正我这里是没问题的 可能是你的哪个地方出现问题了 请你发完整的html 或者删掉无关代码再检查
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询