我有一个ImageButton设置,在OnInit事件中,我正在设置Click事件
btnJoinNow.Click += new ImageClickEventHandler(btnJoinNow_Click);
在客户端,我设置了一个jQuery点击事件,该事件仅在按下按钮时触发一个命中跟踪事件。我遇到的问题是,似乎按钮事件击败了javascript而没有跟踪。在imagebutton事件触发服务器端之前,我需要暂停1秒。
我已尝试过以下内容,但总是会触发。我也试过了e.preventDefault(),但这只是完全停止回发。
$("input[id$='btnJoinNow']").click(function(e) {
Spots.HitWise();
setTimeout(function(){
}, 5000);
});
编辑:
我能让这个工作的唯一方法就是做以下几点:
$("input[id$='btnJoinNow']").click(function(e) {
Spots.HitWise();
setTimeout(function(){
$("input[id$='btnJoinNow']").unbind('click').bind('click', function(e){});
}, 1000);
return false;
});
这样可以让HitWise事件有足够的时间进行跟踪,然后清除click事件并再次自行调用。
答案 0 :(得分:1)
使用OnClientClick
<asp:ImageButton id="btnTest" runat="server"
OnClientClick="javascript:FireHitwise();" .../>
<script type="text/javascript">
function FireHitwise(){
Spots.Hitwise();
return true;//returning false will not fire server side handler
}
</script>