jquery如何向已经有click函数的元素再添加事件函数

灿烂阳光168 2015-12-18 10:40:53
例如:<a class="selected" onclikc="dopostback()"></a>
以上onclik事件,点击后会传回服务器,我就想在传回服务器前,执行一段客户端代码,要如何添加呢?
以下是我写的代码,但是首次点击只会执行返回服务器,第二次点击才会执行下面的代码。
$(document).ready(function(){
$("a.selected").click(function () {
$("#running").css("visibility", "visible");
});
$("a.aspNetDisabled").click(function () {
$("#running").css("visibility", "hidden");
});
});
...全文
285 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
灿烂阳光168 2015-12-18
  • 打赏
  • 举报
回复
引用 9 楼 sp1234 的回复:
[quote=引用 6 楼 xiaojie_cp 的回复:] 把你的 onclick="dopostback()"去掉,然后在你的jquery事件中调用你的dopostback。 $("a.selected").click(function () {            $("#running").css("visibility", "visible"); dopostback();        });
类似于这个意思。 只不过,设置 visible 应该是放到 dopostback 函数之中(第一行),而不是删除 dopostback。[/quote] <a title="SEEK" class="level1" href="#" onclick="__doPostBack('ctl00$MainContent$tb','01true')"> 在我删除之前,我要先取到原来的哪个onclick函数,现在问题是不能取得哪个原来的函数,原来哪个函数是控件自动产生的。
灿烂阳光168 2015-12-18
  • 打赏
  • 举报
回复
引用 11 楼 java166 的回复:
[quote=引用 10 楼 hanjun0612 的回复:] 很简单,删除再绑定就好了。 删除onclick属性:$(“a”).removeAttr(“onclick”); 设置onclick属性:$(“a”).attr(“onclick”,”test();”);
讲得很好,在我删除之前,我要先取到原来的哪个onclick函数,现在问题是不能取得哪个原来的函数,原来哪个函数是控件自动产生的。 [/quote] <a title="SEEK" class="level1" href="#" onclick="__doPostBack('ctl00$MainContent$tb','01true')">
灿烂阳光168 2015-12-18
  • 打赏
  • 举报
回复
引用 10 楼 hanjun0612 的回复:
很简单,删除再绑定就好了。 删除onclick属性:$(“a”).removeAttr(“onclick”); 设置onclick属性:$(“a”).attr(“onclick”,”test();”);
讲得很好,在我删除之前,我要先取到原来的哪个onclick函数,现在问题是不能取得哪个原来的函数,原来哪个函数是控件自动产生的。
正怒月神 版主 2015-12-18
  • 打赏
  • 举报
回复
很简单,删除再绑定就好了。 删除onclick属性:$(“a”).removeAttr(“onclick”); 设置onclick属性:$(“a”).attr(“onclick”,”test();”);
  • 打赏
  • 举报
回复
引用 6 楼 xiaojie_cp 的回复:
把你的 onclick="dopostback()"去掉,然后在你的jquery事件中调用你的dopostback。 $("a.selected").click(function () {            $("#running").css("visibility", "visible"); dopostback();        });
类似于这个意思。 只不过,设置 visible 应该是放到 dopostback 函数之中(第一行),而不是删除 dopostback。
  • 打赏
  • 举报
回复
只要是回发刷新页面,那么页面上的状态,就恢复到之前的值了,你设置的任何东西都丢了。

asp.net 编程不是这样的,它是在服务器端,设置css(对于服务器控件,就是设置其 Style[...] 的值)的。
  • 打赏
  • 举报
回复
这个还是用onClientClick吧,Jquery注册的事件本质跟dom注册的事件是不一样的,JQuery的事件是自己维护的
lovebaby 2015-12-18
  • 打赏
  • 举报
回复
把你的 onclick="dopostback()"去掉,然后在你的jquery事件中调用你的dopostback。 $("a.selected").click(function () {            $("#running").css("visibility", "visible"); dopostback();        });
编程有钱人了 2015-12-18
  • 打赏
  • 举报
回复
或者 //提交瞬间让按钮不可用或者隐藏 //$("#button1").attr("disabled","disabled"); $.post("test.php", function(data){ //返回成功让按钮 可用或者显示 //$("#button1").removeAttr("disabled"); alert("Data Loaded: " + data); });
  • 打赏
  • 举报
回复
既然刷新页面,你设置 css 毫无意义。
编程有钱人了 2015-12-18
  • 打赏
  • 举报
回复
$.ajax({ type: "POST", beforeSend :function(){ //处理你提交之前的逻辑 }, url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } });
灿烂阳光168 2015-12-18
  • 打赏
  • 举报
回复
引用 1 楼 wangjun8868 的回复:
<a class="selected" onclikc="dopostback()"></a> 不是submit 不会提交服务器吧 除非这个dopostback()函数里有 ajax服务器请求
是的,有ajax请求
编程有钱人了 2015-12-18
  • 打赏
  • 举报
回复
<a class="selected" onclikc="dopostback()"></a> 不是submit 不会提交服务器吧 除非这个dopostback()函数里有 ajax服务器请求
正怒月神 版主 2015-12-18
  • 打赏
  • 举报
回复
不要再$(document).ready()里添加。 添加, 而是在你的 按钮点击事件里添加,这个时候,后台生成的js方法,肯定已经完成了。 你通过attr属性就能获取到dopostback
引用 11 楼 java166 的回复:
[quote=引用 10 楼 hanjun0612 的回复:] 很简单,删除再绑定就好了。 删除onclick属性:$(“a”).removeAttr(“onclick”); 设置onclick属性:$(“a”).attr(“onclick”,”test();”);
讲得很好,在我删除之前,我要先取到原来的哪个onclick函数,现在问题是不能取得哪个原来的函数,原来哪个函数是控件自动产生的。 [/quote]

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧