【发布时间】:2016-02-12 05:43:19
【问题描述】:
当用户从文本框中按下 Enter 时,我试图触发按钮的单击事件。这是我的代码:
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#<%= txtSearch.ClientID %>").keypress(function (e) {
if (e.keyCode == 13) {
alert("Hello");
$("#<%= lbSearch.ClientID %>").click();
}
});
});
</script>
<asp:TextBox ID="txtSearch" runat="server" />
<asp:LinkButton ID="lbSearch" runat="server" onclick="lbSearch_Click" />
我的所有点击事件都会重定向到不同的页面。
当我点击按钮时,它会起作用。当我从 IE、Firefox 或 Chrome 的文本框中按 Enter 键时,它可以工作。
但是当我在 Safari 中按 Enter 时,页面只是执行回发,即使 jQuery 函数被命中(警报显示)。
有什么原因吗?
【问题讨论】:
-
这样做有什么作用?
$(function(){ $("#<%= lbSearch.ClientID %>").click(); }); -
@KevinB - 它在除 Safari 之外的所有浏览器中触发点击事件,出于某种原因,它只是执行回发
-
...这很奇怪。除非您在导致回发的点击上有处理程序,否则 js 触发的点击不应进行回发。
标签: javascript jquery asp.net safari