需要点击图片将套组发布, 页面代码:
<img width="20px" src="
<s:property value="IMAGES_PATH" /><s:if test='%{releaseStatus == "YES"}'>pubed.png</s:if>
<s:else>nopub.png</s:else>"
οnclick="<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); }); } }); }