Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在asp:button上添加jQuery click事件,该事件在按钮执行回发之前触发_Jquery_Asp.net_Onclick - Fatal编程技术网

在asp:button上添加jQuery click事件,该事件在按钮执行回发之前触发

在asp:button上添加jQuery click事件,该事件在按钮执行回发之前触发,jquery,asp.net,onclick,Jquery,Asp.net,Onclick,我有一个asp.net应用程序,它带有一个导致回发的asp:按钮,这意味着输入的html有一个自动生成的onclick属性,我需要通过jQuery向触发自动生成的回发之前触发的onclick属性添加一个事件 下面是生成的html示例,我需要确保jQuery添加的事件在WebForm_DoPostBackWithOptions()函数之前触发 <input id="ctl00_MainContent_Save" type="submit" onclick="javascript:WebFor

我有一个asp.net应用程序,它带有一个导致回发的asp:按钮,这意味着输入的html有一个自动生成的onclick属性,我需要通过jQuery向触发自动生成的回发之前触发的onclick属性添加一个事件

下面是生成的html示例,我需要确保jQuery添加的事件在WebForm_DoPostBackWithOptions()函数之前触发

<input id="ctl00_MainContent_Save" type="submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$Save", "", true, "", "", false, false))" value="" name="ctl00$MainContent$Save">

但我希望我的活动在网络表单发布前启动,并提供选项

希望这能让您了解如何操作

<asp:Button ID="bsrc" runat="server" Text="Search" OnClick="bsrc_Click" />


<script type="text/javascript" language="javascript">
     $(document).ready(function()
     {
         $('#<%= bsrc.ClientID %>').click(function(e) 
         {              
                return true;
         });
     });
</script>

$(文档).ready(函数()
{
$('#')。单击(函数(e)
{              
返回true;
});
});
当您首先单击按钮时,它将调用javascript函数,然后将转到服务器端。如果要停止从javascript代码调用服务器端事件,只需
返回false
代替
返回true

如何:

<input id="ctl00_MainContent_Save" type="submit" value="" 
   name="ctl00$MainContent$Save">
...


$('#ctl00_MainContent_Save').click(function(e) {
   e.preventDefault();
   somfunction();
   WebForm_DoPostBackWithOptions(
       new WebForm_PostBackOptions("ctl00$MainContent$Save",
        "", true, "", "", false, false))"
 });

您可能可以尝试mousedown事件,该事件将在触发click事件之前触发

$('#ctl00_MainContent_Save').mousedown(function() {
    somfunction();
});
或者尝试下面的代码

$(document).ready(function(){

  $('#ctl00_MainContent_Save')
  .attr("onclick", null)
  .removeAttr("onclick")
  .click(function() {
        somfunction();
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions($(this).attr("name"), "", true, "", "", false, false));
    });

});

在页面回发之前,你想做什么?调用任何javascript函数,都会发出警报,我已经更新了我的帖子,希望能有所帮助。干杯。非常感谢你有同样的问题。感谢ShankarSangoli的回复。该事件必须通过jQuery添加。我不希望html中有更多javascript。很棒的东西,我使用了第二个选项,我希望jQuery能够以某种方式对事件进行排序,但这解决了我的问题。
$('#ctl00_MainContent_Save').mousedown(function() {
    somfunction();
});
$(document).ready(function(){

  $('#ctl00_MainContent_Save')
  .attr("onclick", null)
  .removeAttr("onclick")
  .click(function() {
        somfunction();
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions($(this).attr("name"), "", true, "", "", false, false));
    });

});