javascript如何在自身onclick事件里改变onclick事件的参数值? 20

html部分:<ahref="javascript:void(0);"onclick="updateShow('1014','0',this)">对外隐藏</a>js部分... html部分:
<a href="javascript:void(0);" onclick="updateShow('1014','0',this)">对外隐藏</a>
js部分:

function updateShow(id,show,t) {

$.post("/ajaxPage/ajax.aspx", { op:"UPCHECK",tempid:id,show:show}, function (data) {
if (data != "0") {
//$("#" + id).parent().parent().find(".checknow").html("sx");
if (show == "0") {
$(t).parent().parent().find(".shownow").html("<img src=\"/images/yes.jpg\" style=\"width:25px; height:25px;\">");
t.innerHTML = "对外隐藏";
t.onclick = function() {
updateShow('1014','1',t) };
} else {
$(t).parent().parent().find(".shownow").html("<img src=\"/images/no.jpg\" style=\"width:25px; height:25px;\">");
t.innerHTML = "对外显示";
t.onclick = function() {
updateShow('1014','0',t) };
}
}
});
}

我想把updateShow的实参0变为1,但是这样写不行。求指导
展开
 我来答
nbyh2012
2013-07-02 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:802万
展开全部

我推荐你使用事件绑定去做,代码会比较简单。一般是不推荐onclick属性的,比较新的代码都会用事件榜定。


加一个辅助ID,如:

<a id="yourid" href="javascript:void(0);">对外隐藏</a>


jquery有一个data方法,可以为元素存储一个值。在点击链接时,可以动态地改变真假值,来改变事件的行为。这样不需要改变已经绑定的事件。

$("#yourid").data("state", false);
$("#yourid").click(function(){
    var s = $(this).data("state");
    // 判断s的值,隐藏或显示
    // 这个函数的内容需要修改,这里只做一个示例
    updateShow("1014", s, $(this));
    // 改变state的值,下次就是true了
    $(this).data("state", !s);
});


还有一种办法,使用toggle切换

$("#yourid").click(function(){
    $("#yourid").toggle(
        function(o){ updateShow('1014', true, $(this) }, 
        function(o){ updateShow('1014', false, $(this) }
    );
});

 绑定一个事件,在事件中调用toggle。这样每次点击会在两个不同的函数间切换。第一次点击执行第一个函数,第二次点击执行第二个函数。


您的采纳就是我的动力!

网海1书生
科技发烧友

2013-07-01 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
updateShow('1014','1',t)

改为
updateShow('1014','1',t)

updateShow('1014','0',t)

改为
updateShow('1014','0',t)

注意最后的括号
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式