`

jquery动态设置attr onclick的那些事

阅读更多
html 代码:
<s:if test="#romAdResult.whether_release>0">
  <a href="#" onclick="activateCountUpdate(this,2)" id="${id}">取消发布</a>
</s:if>
<s:else>
  <a href="#" onclick="activateCountUpdate(this,1)" id="${id}">发布</a>
</s:else>


业务要求:
1、页面加载时会根据whether_release的值,当为0时显示发布,大于0,即为1时,显示取消发布。
2、JS代码操作中当单击取消发布执行成功后,需把<a>标签的单击事件修改为发布的事件,并把文本修改为发布,而操作发布事件,刚好相反,这就需要Jquery动态修改onclick。

所遇问题:
1、直接设置:
$(this).attr("click",activateCountUpdate($(this),2));

   这样设置后,会出现直接执行事件

2、通过Jquery one 设置:
   $(this).one("click",function(){
      activateCountUpdate($(this),2)
   });

   设置后,当单击事件触发时,会同时执行activateCountUpdate($(this),1),以及activateCountUpdate($(this),2) 两个事件

最终解决方法:
  
   //先清除,再绑定
   $(this).attr('onclick','');  //此方法如不起作用,可使用“ $(this).unbind('click');”  代替
   $(this).one("click",function(){
      activateCountUpdate($(this),2)
   });
   



分享到:
评论
1 楼 chinaway 2012-12-16  
学习了,谢谢分享

相关推荐

    jQuery动态移除与增加onclick属性的方法详解

    本文实例讲述了jQuery动态移除与增加onclick属性的方法。分享给大家供大家参考,具体如下: 这里给大家介绍利用jquery的removeAttr与attr事件来给a标签增加与删除onclick事件的具体操作方法,有需要了解的朋友可参考...

    jquery动态改变onclick属性导致失效的问题解决方法

    那么你可能在某些时候需要去修改onclick 的属性如下: 代码如下: $(“#id”).attr(“onclick”,url); 这样的代码,在chrome和firefox 中可以得到你想要的结果。 遗憾的是在ie中,至少是ie7 以下是没有效果的,至于...

    使用jQuery的attr方法来修改onclick值

    $("#anchor").attr('onclick', '').click(newclick); 如果onclick事件原先有值,要先清空,再用click( eval&#40;function(&#41;{…..}) )赋值 $("input[name='orderCar']").attr('onclick','').click( eval&#40;...

    jquery attr方法获取input的checked属性问题

    问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,...

    jquery插件使用方法大全

    ·attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进 1.5 美国时间1月31日John Resig在jQuery官方博客发表文章,宣布jQuery 1.5正式版已经...

    jquery checkbox无法用attr()二次勾选问题的解决方法

    下面小编就为大家带来一篇jquery checkbox无法用attr()二次勾选问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JQuery综合练习2.docx

    1、jQuery 对象可以进行隐式迭代: 为选取的所有的 p 节点都添加了 onclick 响应函数。jQuery 对象本身就是一个 DOM 对象的数组。  2、在响应函数中,this 是一个 DOM 对象,若想使用 jQUery 对象的方法,需要把其...

    Jquery为a标签的href赋值实现代码

    代码如下: [removed] function doTest(){ var value = $(“input[name=’dizhi’][type=’radio’]:checked...input name=”dizhi” type=”radio” id=”dizhi” onclick=”doTest()” value=”&lt;?php echo $rsaddr

    纯JavaScript实现获取onclick、onchange等事件的值

    select id=”city” onchange=”[removed]test();... 稍微懂点JQuery的童鞋,可能会尝试这样获取: 代码如下: $(document).ready(function(){  var onchangeValue = $(“#city”).attr(“onchange”);  alert

    IE8的JavaScript点击事件(onclick)不兼容的解决方法

    博客园闪存分页是用JavaScript生成的,今天发现在IE8下点击页码不能翻页,翻页操作是在当前页码的onclick事件中进行的。 开始代码是这么写的: 代码如下:var a = document....后来改为jQuery的attr方法: 代码如

    js onclick事件传参讲解

    1、在页面中给方法传参数有两种方法 第一:onclick=cancel(id,patientId);...第二:在js中用jquery$(function(){ var patientId=$(“a”).attr(“patientId”); }),在页面中”${patientId}”&gt; 2、onclick事件

    浅析jquery与checkbox的checked属性的问题

    2、checkbox里的onchange或onclick方法里用jquery的attr方法获取checked是看得到的checked属性的值与它是否给钩上没有关系 3、使用document.getElementById(“checkbox_id”).checked获取的值与是否钩上一至,即与...

    jQuery实现图片下载代码

    jQuery 实现图片下载代码,供大家参考,具体内容如下 function downloadImage(src) { var $a = $("&lt;a&gt;&lt;/a&gt;").attr("href", src).attr("download", "meitu.png"); $a[0].click(); } 关键调用downloadImage函数代码...

    JQuery获取表格数据示例代码

    //table 第二行记录 var dj = tbl.children().eq(1).chilren().eq(3).find(“INPUT”).attr(“value”);//find方法本来返回一个数组,但这里就一个元素,可以这么写。如果有多个元素,要具体确定某一元素可以通过...

    jquery 防止表单重复提交代码

    我的解决办法如下(只针对客户端): 用户点击提交按钮后给按钮添加disabled属性 代码如下:$(“input:submit”).each(function() { var srcclick = $(this).attr(“onclick”); if(typeof(srcclick)==”function”){...

    js获取事件源及触发该事件的对象

    某Html元素有onclick方法:onclick=’... //这时obj就是触发事件的对象,可以使用它的各个属性 //还可以将obj转换成jquery对象,方便选用其他元素 var $obj = $(obj); alert&#40;$obj.parent(&#41;.attr(“href”));

    阻止表单提交按钮多次提交的完美解决方法

    onclick事件里面执行 $(this).attr(‘disabled’,’disabled’); 在点击一次后立马将按钮设置为不可使用。 或者向如下方法另行定义一个jQuery函数来进行控制: $("form").submit(function(){ $(":submit",this)....

    解决JQuery全选/反选第二次失效的问题

    $('input[name="xxx[]"]').attr("checked",obj.checked); } &lt;input type="checkbox" id="mother" name="mother" onclick="selectAll(this);"/&gt;全选 &lt;input type="checkbox" id="son1" name="xxx[]" /&gt;...

Global site tag (gtag.js) - Google Analytics