在asp:button上添加jQuery click事件,该事件在按钮执行回发之前触发
我有一个asp.net应用程序,它带有一个导致回发的asp:按钮,这意味着输入的html有一个自动生成的onclick属性,我需要通过jQuery向触发自动生成的回发之前触发的onclick属性添加一个事件 下面是生成的html示例,我需要确保jQuery添加的事件在WebForm_DoPostBackWithOptions()函数之前触发在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
<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));
});
});