通过在没有jQuery全局事件的文本框中输入来调用JavaScript函数
我正在开展一个以学习为目标的项目,到目前为止,我正在避免使用jQuery来尽可能多地学习JavaScript。我已成功使用onkeypress来确定是否在文本框或文本区域中输入了输入,但在我的网站上添加搜索栏后,我发现像onkeypress这样的事件是全局的(即点击进入搜索栏会激活我的'发送'消息'textarea)。
我也在使用AJAX,因此我不想要一个简单的表单提交。我也希望使用textarea,因为我经过多行(这样可以看到更多的文本)。
在这些约束下,不使用jQuery这样做是否合理?如果是这样,我该怎么办?网站上的其他答案只是指向jQuery。
谢谢,
模范
编辑:我被问到代码,所以这里是相关的HTML和JavaScript。这是输入之一:
<input type="text" id="search" name="search" onkeypress="return activate(event, this.value);"/>
这是与它一起使用的javascript:
function activate(e, message)
{
if (isNotEnter(e))
{
return true;
}
else // ie. enter was pressed
{
// only proceed to search() if message is not empty
if (message.length >= 1)
{
search();
}
return false;
}
}
函数isNotEnter():
function isNotEnter(e)
{
if (e.keyCode == 13)
{
return false;
}
else
{
return true;
}
}
没有找到相关结果
已邀请:
2 个回复
抽法
上的关键事件,而不是你的输入元素。 所以找到类似
的东西并用
代替。 如果你找不到该代码,你可能正在使用
,所以找到
更新 您希望避免使用内联事件处理程序。谷歌
(你也会看到为什么我们需要
为&lt; IE9)。 此外,您通常不希望将函数命名为否定某些内容,例如你的例子
。你应该翻转它的功能并将其称为
,这样你可以使用否定运算符来输入,例如,
。
眠缝