关于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了。。
展开
 我来答
千羽千寻online
推荐于2017-09-14 · TA获得超过645个赞
知道小有建树答主
回答量:735
采纳率:37%
帮助的人:181万
展开全部

需要是js'方法有效,这样的话,a标签的超链接就不可以被触发,因此有两种解决方法。

  1. href="javascript:void()"这样的话,a的超链接就成为了没有作用的空值。

  2. 在js方法内部返回一个false值,这样a在被点击的时候方法被触动,接着执行完后返回false给a表示超链接不被启用。

    第二种方法好一些,因为可以平稳退化。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a19d193
2013-05-28 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1446万
展开全部

给你个例子吧

<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...

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
推荐于2017-10-15 · TA获得超过260个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:62.9万
展开全部
$(obj).attr("onclick","test('123');");
改成
$(obj).attr("onclick",function(){
test('123');
});
更多追问追答
追问
可以不直接运行test吗
追答
你点击了按钮以后,obj就拥有了click事件,这个时候,你再点击Obj 对象时,就会触发这个事件。

你描述一下,我看看你打算实现的功能
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MarkGo
2013-05-28 · 测试API接口使用的啊1
MarkGo
采纳数:257 获赞数:427

向TA提问 私信TA
展开全部
我用Chrome一直按都没问题
追问
不好意思。。忘说是用IE8了。。
追答
firefox、chrome、ie6都没事....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wswhk
2013-05-28 · TA获得超过7.1万个赞
知道顶级答主
回答量:4.6万
采纳率:68%
帮助的人:7.4亿
展开全部
反正我这里是没问题的 可能是你的哪个地方出现问题了 请你发完整的html 或者删掉无关代码再检查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式