`

Jquery 改变元素的 onclick 事件

    博客分类:
  • JS
 
阅读更多

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

 

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

 

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

 

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

 

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

 

需要解除该图片绑定的所有事件, 用.unbind();  所以用 img.unbind() 即可解除所有的事件。

 

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

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

 

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

 

 找到解除 onclick  绑定的代码: 

 

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

 

 

		function changeToOpen(suitId, img){
			//这里借助 train_com ac_type 来实现传递锁信息
			params = "train_com="+suitId+"&ac_type=yes";//alert(params);
			$.post("doSimulatorPubById.do",params,function(data){
				eval("var rst = "+data);
				alert(rst.msg);
				if(rst.status == 3){
					img.attr("src","<s:property value="IMAGES_PATH" />pubed.png");
					img.attr('onclick', '').unbind('click').click( function () { changeToClose(suitId, img); }); 
				}
			});
		}
		function changeToClose(suitId, img){
			//这里借助 pilotInfForVoteDto 来实现传递锁信息
			params = "train_com="+suitId+"&ac_type=no";//alert(params);
			$.post("doSimulatorPubById.do",params,function(data){
				eval("var rst = "+data);
				alert(rst.msg);
				if(rst.status == 3){
					img.attr("src","<s:property value="IMAGES_PATH" />nopub.png");
					img.attr('onclick', '').unbind('click').click( function () { changeToOpen(suitId, img); }); 
				}
			});
		}

 

 

 

分享到:
评论
2 楼 josico 2013-12-11  
为什么 取消属性了  还要取消绑定呢?
img.attr('onclick', '').unbind('click')
1 楼 tobino1 2013-09-13  
   
    

相关推荐

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

    好了,直接给大家贴上js代码...如果onclick事件原先有值,要先清空,再用click( eval&#40;function(&#41;{…..}) )赋值 $("input[name='orderCar']").attr('onclick','').click( eval&#40;function(&#41;{Test()}));

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

    首先,要理解当使用jQuery改变元素的" onclick "属性时,可能会遇到的问题。通常,当我们使用jQuery的".attr()"方法来改变一个元素的" onclick "属性时,比如: ```javascript $("#id").attr("onclick", function()...

    jquery绑定click事件传递参数

    在使用jQuery处理点击事件时,有时我们可能需要结合CSS来改变元素的样式,例如: ```javascript $('element').click(function() { $(this).addClass('highlight'); // 添加class来改变样式 // 或者 $(this).css...

    原生JS操作网页给p元素添加onclick事件及表格隔行变色

    在本篇内容中,将讨论如何使用原生JS来实现给网页中的所有段落(p元素)添加onclick事件,以及如何实现一个特定表格的隔行变色效果。 首先,了解onclick事件是非常基础且重要的。onclick事件属于JavaScript中事件...

    jquery应该如何来设置改变按钮input的onclick事件

    在JavaScript和jQuery中,改变按钮`input`的`onclick`事件主要是通过操作DOM元素的属性或者使用事件监听器来实现的。在这个问题中,开发者希望动态地改变一个ID为`prebt`的按钮的`onclick`事件,以便调用不同的`To...

    jQuery图片批量上传插件源码

    1、图片选择: id必须是“div_imgfile”,可以是任意元素,onclick事件触发选择对话框 2、图片预览容器:id必须是“div_imglook”的div,里面包含一个清除浮动的div 3、确定上传按钮:id必须是“btn_ImgUpStart”,...

    jquery获取并修改触发事件的DOM元素示例【基于target 属性】

    本篇文章将深入探讨如何使用jQuery通过`event.target`属性来获取并修改触发事件的DOM元素,以满足特定的需求。 首先,让我们理解`event.target`属性。在JavaScript事件处理函数中,`event`对象包含了关于事件的各种...

    layui中使用jquery控制radio选中事件的示例代码

    2. 在事件回调函数中,使用jQuery选择器定位需要改变选中状态的Radio按钮。 3. 通过`.attr('checked', true)`或`.removeAttr('checked')`改变Radio的`checked`属性,实现选中或取消选中。 4. 调用`form.render()`...

    从零开始学习jquery

    这些函数包括选择器(用于选取页面元素)、DOM 操作(如添加、删除和修改元素)、事件处理、动画效果等。例如,`$()` 是 jQuery 的核心选择器,可以用来选取页面上的元素,如 `$('div')` 会选取所有 `&lt;div&gt;` 标签。...

    可预览移除图片的jQuery多张图片批量上传插件代码.zip

    3、确定上传按钮:id必须是“btn_ImgUpStart”,可以是任意元素,onclick事件开始上传全部选中图片 样式可随意更改,js文件顶部有三个变量,可以分别设置单张图片大小限制,单位MB,最多选中图片张数,异步提交...

    jQuery操作元素追加内容示例

    在jQuery中,我们可以方便地选取元素,然后对选中的元素执行各种操作,包括改变内容、添加内容等。 二、jQuery的追加内容方法 1. `.append()`:该方法用于在选中元素的内部末尾追加内容。内容可以是HTML字符串或...

    c# 在webFrom上实现tabcontrol功能(onmouseover事件,onclick事件)

    实现这一功能,可以在后台代码中为每个选项卡按钮绑定`onmouseover`事件,然后在事件处理程序中改变当前显示的页面内容。例如,你可以使用一个隐藏的UpdatePanel来加载并显示对应选项卡的动态内容,这样可以避免整个...

    html5 svg 中元素点击事件添加方法

    上述代码中,当用户点击圆形时,会触发onclick事件,从而将圆形的填充色改为红色。 2. 使用JavaScript的addEventListener方法添加事件监听器。这是推荐的方法,因为它提供了更灵活的事件处理方式。例如: ```html ...

    jquery树形菜单例子

    在jQuery中,我们可以通过遍历DOM,添加事件监听器以及修改元素的样式来实现这一功能。例如,我们可以为每个节点添加一个点击事件,当用户点击时,显示或隐藏其子节点。 接下来,我们要介绍的jQuery Light Treeview...

    jquery模仿windows桌面

    - **DOM操作**:jQuery提供了一系列选择器、遍历和修改DOM的方法,如`$(selector)`、`.append()`、`.remove()`,用于创建和管理桌面元素。 - **事件处理**:使用`.on()`方法绑定点击、鼠标悬停等事件,响应用户的...

    Jquery框架

    **jQuery框架**是一种广泛使用的JavaScript库,它极大地简化了网页中...无论是选取元素、处理事件还是改变页面样式,jQuery都提供了强大且易用的工具。理解并熟练运用这些基础概念,将有助于提升网页开发的效率和质量。

    jquery鼠标事件

    jQuery通过封装一系列复杂的DOM操作,使得开发者能够更轻松地处理网页中的元素和事件。本文将详细介绍jQuery中与鼠标相关的事件及其应用。 #### 1. `onClick`:单击事件 当用户单击页面中的某个元素时触发此事件。...

    jQuery设置表格列字段筛选改变代码

    本文将深入探讨如何使用jQuery来实现表格列字段的筛选功能,并且会在改变筛选条件时实时更新表格内容。 首先,让我们理解HTML结构。在`index.html`文件中,通常会有一个表格(`&lt;table&gt;`)元素,包含表头(`&lt;thead&gt;`...

    jQuery使用手册.

    jQuery 还支持多种 DOM 操作,如 `hide()` 隐藏元素,`show()` 显示元素,`append()` 在元素内部追加内容,`appendTo()` 将内容追加到其他元素中,`html()` 获取或设置元素的 HTML 内容,以及 `css()` 修改元素的...

Global site tag (gtag.js) - Google Analytics