巧妙使用Jquery 改变元素的 onclick 事件

需要点击图片将套组发布, 页面代码:

Html代码  

  1. <img width="20px" src="
  2. <s:property value="IMAGES_PATH" /><s:if test=‘%{releaseStatus == "YES"}‘>pubed.png</s:if>
  3. <s:else>nopub.png</s:else>"
  4. onclick="<s:if test=‘%{releaseStatus == "YES"}‘>changeToClose(<s:property value="suiteId" />, $(this));</s:if>
  5. <s:else>changeToOpen(<s:property value="suiteId" />, $(this));</s:else>" />

在套组发布之后, 需要改变下次点击的事件调用的方法。

使用:img.click( function () { changeToOpen(suitId, img); });

结果:先执行img所定义的 onclick 事件定义的方法, 然后执行之前 onclick 所绑定的方法, 最后执行这次绑定的方法。

找到解除绑定的代码:unbind(‘click‘)

img.unbind(‘click‘).click( function () { changeToOpen(suitId, img); });

结果:先执行img所定义的 onclick 事件定义的方法, 然后执行这次绑定的方法。

 找到解除 onclick  绑定的代码: 

img.attr(‘onclick‘, ‘‘).unbind(‘click‘).click( function () { changeToOpen(suitId, img); });

Js代码  

  1. function changeToOpen(suitId, img){
  2. //这里借助 train_com ac_type 来实现传递锁信息
  3. params = "train_com="+suitId+"&ac_type=yes";//alert(params);
  4. $.post("doSimulatorPubById.do",params,function(data){
  5. eval("var rst = "+data);
  6. alert(rst.msg);
  7. if(rst.status == 3){
  8. img.attr("src","<s:property value="IMAGES_PATH" />pubed.png");
  9. img.attr(‘onclick‘, ‘‘).unbind(‘click‘).click( function () { changeToClose(suitId, img); });
  10. }
  11. });
  12. }
  13. function changeToClose(suitId, img){
  14. //这里借助 pilotInfForVoteDto 来实现传递锁信息
  15. params = "train_com="+suitId+"&ac_type=no";//alert(params);
  16. $.post("doSimulatorPubById.do",params,function(data){
  17. eval("var rst = "+data);
  18. alert(rst.msg);
  19. if(rst.status == 3){
  20. img.attr("src","<s:property value="IMAGES_PATH" />nopub.png");
  21. img.attr(‘onclick‘, ‘‘).unbind(‘click‘).click( function () { changeToOpen(suitId, img); });
  22. }
  23. });
  24. }

巧妙使用Jquery 改变元素的 onclick 事件

时间: 2024-07-29 21:38:40

巧妙使用Jquery 改变元素的 onclick 事件的相关文章

给网页中的元素添加onclick事件(引自锋利的jQuery)

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content="editplus" /> <title>给网页中的元素添加onclick事件</p></title> <script src="jquery-1.7.1

为listview的item中的元素设置onclick事件

表达能力比较差,所以现在解释一下标题的意思:listview的列表项,点击的时候触发的是itemOnClick事件,点击后转向到A页:那么,假如在子项中有一个连接是想转到B页,我们该怎么办呢.这样能明白了吧,好,现在我说一下解决的办法:有两种办法,一种是重写adapter,一种是在你的子项中的元素中设置onclick事件(注意,是在xml中设置onclick元素)我只做了第一种方法,演示如下:我们继承adapter的基类,然后重写getView @SuppressWarnings("unchec

jquery在元素上收购事件

jquery的给元素绑定的事件能够用data方法取出来 通过$(element).data("events")来获取 // 比方给一个button绑定两个click事件 $("button").click(function() { alert("1") }); $("button").click(function() { alert("2") }); // 这个时候点击该button会分别弹出 2 和1的a

jQuery之元素操作及事件绑定

1.操作元素之属性: ①attr读:("selector").attr("属性名"):=>getAttribute("属性名"):改: ("selector").attr("属性名",值):=>setAttribute("属性名",值):*(*无法访问不再开始标签中存在的prop属性:例:checked,selected,disabled): ②prop读:("se

如何给html元素的onclick事件传递参数(即如何获取html标签的data-*属性)

最近好忙,吐个槽先... 现在做的一个小系统为了达到领导所说的很炫的效果有用到Metro UI CSS,但是因为如何给每个磁贴(div标签)的click事件传递参数折腾了蛮久(偶是菜鸟),后来终于找到一个解决方案即通过data-*属性,下面分别为jQuery和js实现: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <

jquery改变元素的值的函数val

<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $(":text&

js为元素添加onclick事件

$("div.manu a:last").on('click',function(){ if (page == totalPage) { return; } page = page + 1; search(page); }); 通过on绑定click事件

JavaScript例子1-给网页中所有&lt;p&gt;元素添加onclick事件

1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <title></title> 7 <script type="text/javascript"> 8 window.onload = function() { 9 var items = document.getElementsByTagName(&

JQuery给元素绑定click事件多次执行的解决方法

原绑定方法: $(".subNavdiv").click(function () { ###### }); 这种方法只会在原click方法中继续添加新方法: 解决办法更改绑定方法为: $("#sdfsd").unbind("click").click(function(e){ ###### }); 在绑定新click方法前对元素所绑定的click方法解绑