onKeypress在Chrome中不起作用的文本字段上的Enter Key事件
onKeypress Enter Key event on textfield not working in Chrome
我有一个与这里所问的问题相同的问题,关于如何在chrome中处理回车键。
我试图实现的效果是,当焦点集中在当前字段中时,允许回车键调用一个按钮的点击事件。为了实现这一点,我使用以下代码:
javascript:
<script type="text/javascript">
//attempting to capture keypress for chrome here but this is not working
$("#txtContainer").keypress(function (e) {
if (e.keyCode == '13') {
e.preventDefault();
doClick(buttonname, e);
return false;
}
});
function doClick(buttonName, e) {
var key;
if (window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if (key == 13) {
var btn = document.getElementById(buttonName);
if (btn != null) {
btn.click();
event.keyCode = 0
}
}
}
</script>
在aspx 中
<form id="form1" runat="server">
<div>
<asp:LinkButton ID="newBtn" runat="server" OnClick="btnLogin_Click" Text="ASP Link" />
<asp:TextBox ID="txtContainer" runat="server" Width="100" />
<asp:Label ID="time_lbl" runat="server" />
</div>
</form>
在代码背后aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txtContainer.Attributes.Add("onKeyPress", "doClick('" + newBtn.ClientID + "',event)");
}
}
public void btnLogin_Click(object sender, EventArgs e)
{
time_lbl.Text = txtContainer.Text;
}
上面的代码在FF和IE中运行良好,但是chrome继续提交整个表单,而不是在enterkey上捕获按键。
谢谢你的建议。
我想说,使用"keyup"而不是"keypress"应该可以解决您的问题
您可以在按键事件中尝试此操作
$("#txtContainer").keypress(function (e) {
e.preventDefault();
var key = window.event ? e.keyCode : e.which;
if (key == '13') {
doClick(buttonname, e);
}
});
注意:var key=window.event?e.keyCode:e.which;和e.preventDefault()应该放在第一位,并返回false;不需要,因为您使用了e.preventDefault()。
这也应该完成任务:
var key = e.keyCode || e.which;
if(key === 13 { /* your code */ }
相关文章:
- KeyPress和Keydown在这个特定的代码上不起作用.只有key-up起作用
- 当我在form_for中的text_field_tag中点击Enter时,如何禁止发出POST请求
- JavaScript:在调用函数的文本输入上按enter键
- 如何获取文本框组的值,并使用jquery将它们放入(key:Value)数组中
- D3js如何在.enter上下文中在同一级别附加两个子级
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- 使用lodash从对象数组中获取uniq[key,value]
- 显示多个具有相同源javascript(map(key,value))数据的图表
- 如何编写脚本并在网页上按Enter键
- 在key up函数上将文本框值传递给javascript
- JavaScript使event.key警报event.keyCode的基本polyfill实现Chrome的现代化
- 如何在按Enter键后调用onclick函数
- 按enter键时,jQuery UI自动完成字段未提交
- 如何通过按Enter提交输入表格,但在按shift和Enter时不提交
- nodejs selenium webdriverio webdriver.key(ENTER)
- Tinymce Enter key
- 使用Enter Key Submit从NATIVE转换为IFRAME沙盒
- onKeypress在Chrome中不起作用的文本字段上的Enter Key事件
- jQuery 'enter'-key事件处理器
- Enter Key tricks val() length / jQuery