Javascript 按enter键的同时调用具有差异输入的差异功能
html 我有3个输入字段,我想在按enter键时执行差分功能。如何获取或检测我所在的输入字段?当我单击输入字段(焦点)时,是否有办法检查id名称,然后以某种方式将id名称与onkeydownhander函数中的匹配 像这样的Javascript 按enter键的同时调用具有差异输入的差异功能,javascript,jquery,Javascript,Jquery,html 我有3个输入字段,我想在按enter键时执行差分功能。如何获取或检测我所在的输入字段?当我单击输入字段(焦点)时,是否有办法检查id名称,然后以某种方式将id名称与onkeydownhander函数中的匹配 像这样的 window.onkeydown = onKeyDownHandler; function onKeyDownHandler(e) { switch (e.keyCode) { case 13: if(text1){
window.onkeydown = onKeyDownHandler;
function onKeyDownHandler(e)
{
switch (e.keyCode) {
case 13:
if(text1){
alert("text1 function");
}else if(text2){
alert("text2 function");
}else if(text3){
alert("text3 function");
}
return;
}
}
使用
document.activeElement.id
获取当前关注元素的id
if(focusidname = text1){
alert("text1 function");
}
您可以使用
event.target.id
:
if(document.activeElement.id == 'text1'){
alert("text1 function");
}
然而,随着更多的元素添加到页面中,您附加事件的方法似乎会带来麻烦。我建议您采取不同的方法:
创建一个检测回车键的函数:
window.onkeydown = function(event){
alert(event.target.id);
};
将其附加到特定输入
var whenEnterCall = function (callback){
return function(event){
if(e.keyCode == 13){
callback(event);
}
}
};
mdn文档是查找有关以下内容的详细信息的好地方:
$('.my input')。每个(函数(){
$(此).on('keyup',函数(e){
onKeyDownHandler(这个);
});
});
函数onKeyDownHandler(self){
//键控输入的id
警报($(self.attr('id'));
//键控输入的值
警报($(self.val());
}
正文1:
文本2:
文本3:
这可能会对您有所帮助。以不同方式绑定每个输入,或比较
e.target
$('input').keypress(function(e) {
var key;
if (e.keyCode) // IE
{
key = e.keyCode;
}
else if (e.which) //Mozilla
{
key = e.which;
}
if (key == 13) {
if(this.id == "text1"){
alert("text1 function");
}else if(this.id == "text2"){
alert("text2 function");
}else if(this.id == "text3"){
alert("text3 function");
}
return;
}
});
input.addEventListener('keydown', whenEnterCall(function(event){
alert('input entered ' + event.target.id);
}));
function onKeyDownHandler(e)
{
switch (e.keyCode) {
case 13:
if(this.id == "text1"){
alert("text1 function");
}else if(this.id == "text2"){
alert("text2 function");
}else if(this.id == "text3"){
alert("text3 function");
}
return;
}
$('input').keypress(function(e) {
var key;
if (e.keyCode) // IE
{
key = e.keyCode;
}
else if (e.which) //Mozilla
{
key = e.which;
}
if (key == 13) {
if(this.id == "text1"){
alert("text1 function");
}else if(this.id == "text2"){
alert("text2 function");
}else if(this.id == "text3"){
alert("text3 function");
}
return;
}
});
$(document).ready(function () {
$('input').keydown(function (e) {
if(e.keyCode == 13)
{
if($(this).attr('id')=="text1")
{
alert("text1 function")
}
else if($(this).attr('id')=="text2")
{
alert("text2 function")
}
else if($(this).attr('id')=="text3")
{
alert("text3 function")
}
}
});
});