如果按键按下 != ENTER,请运行 JavaScript
Run JavaScript if key pressed != ENTER
我在MVC4网站上工作,我有一个带有搜索文本框的网络网格。我的文本框位于表单内,当我按回车键时将提交该表单。我还有一个绑定到文本框的 onkeypress 脚本,它将在 3 sek 后使用输入的其他内容更新我的网络网格。
我的问题是,如果不是最后一个按下的键是 Enter,我只想运行脚本。
我的代码如下所示:
@using (Ajax.BeginForm("Filter", new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "projects" }))
{
<div class="paddingTextToleft">
Search:
<input id="searching" name="searchString" type="text" value="" onkeypress="return keypressed()">
<p class="error">@ViewBag.SearchMessage</p>
</div>
<br />
}
还有剧本:
var timeoutReference;
function keypressed() {
if (window.event.keyCode == 13) {
//Do not run the script!
return true;
}
else {
if (timeoutReference) clearTimeout(timeoutReference);
timeoutReference = setTimeout(function () {
var value = $("#searching").val();
$.ajax({
url: '@Url.Action("Filter", "Project")',
contentType: 'application/html; charset=utf-8',
type: "GET",
dataType: 'html',
data: { searchString: value },
}).success(function (result) {
$('#projects').html(result);
});
}, 3000);
}
};
我希望它停止脚本(或不运行其余部分),如果按下的键是输入的。
希望有人能帮助我。
谢谢
首先,
您没有向函数发送事件。使用一些参数调用它,例如:
<input id="searching" name="searchString" type="text" value="" onkeypress="keypressed(e)">
然后在函数中接受此事件:
var timeoutReference;
function keypressed(e) {
if (e.keyCode == 13) {
//Do not run the script!
return;
}
else {
if (timeoutReference) clearTimeout(timeoutReference);
timeoutReference = setTimeout(function () {
var value = $("#searching").val();
$.ajax({
url: '@Url.Action("Filter", "Project")',
contentType: 'application/html; charset=utf-8',
type: "GET",
dataType: 'html',
data: { searchString: value },
}).success(function (result) {
$('#projects').html(result);
});
}, 3000);
}
};
相关文章:
- JavaScript:在调用函数的文本输入上按enter键
- 如何在JavaScript中为ENTER事件充值
- 使用javascript在Enter键上提交表单
- 在javascript中强制使用enter而不是单击
- 按Enter键继续使用JavaScript中的条件
- Javascript引导框,无法获得按钮单击ENTER键
- 如果按键按下 != ENTER,请运行 JavaScript
- 按下 Enter JavaScript 时的事件
- “Enter”键在文本框处于活动状态时调用javascript函数
- 按ENTER键调用javascript函数
- 如何在html中按enter键时调用javascript函数
- 如何处理javascript中字符串之间的Enter键
- 按下 Enter 时运行 JavaScript 函数 - 只有 JavaScript 没有 Jquery
- 使用JavaScript的Ctrl+Enter可防止回车
- 如何在javascript或jQuery中模拟ENTER键上的TAB
- 通过按Enter触发绑定到HTML按钮的JavaScript函数.(不使用Tab键)
- 按下enter键后运行Javascript
- 如何在Javascript中按下"Enter"关键
- 如何通过在javascript中按enter键将文本添加到文本区
- 按enter键时使用Javascript