Jquery onkeypress事件未触发
我已经为鼠标和键盘事件编写了一个代码。但是在Firefox等浏览器中,Jquery onkeypress事件未触发,jquery,html,Jquery,Html,我已经为鼠标和键盘事件编写了一个代码。但是在Firefox等浏览器中,onkeypress事件没有触发。我也尝试过keydown事件,但这不起作用。li元素的HTML代码为: print "<li class=\"ui-menu-item \" id=\"toli$i\" value=\"'$name','$email'\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhan
onkeypress
事件没有触发。我也尝试过keydown
事件,但这不起作用。li
元素的HTML代码为:
print "<li class=\"ui-menu-item \" id=\"toli$i\" value=\"'$name','$email'\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillto('toli$i','$name','$email');\">$ename $ediv $email></a></li>";
}
elsif($field eq "cc"){
print "<li class=\"ui-menu-item \" id=\"toli\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillcc('$name','$email');\">$ename $ediv $email></a></li>";
}
elsif($field eq "bcc"){
print "<li class=\"ui-menu-item \" id=\"toli\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillbcc('$name','$email');\">$ename $ediv $email></a></li>";
}
}
print "</ul>";
我已经试过密码了
$(document).ready(){
$("#displayto").keypress(function(){
alert('a');
});
}
但它也不起作用。我已为每个
$(document).ready(){
$("#displayto").keypress(function(){
alert('a');
});
}//end of document ready
你能用jQuery吗??如果可以,试试这样的方法,我想可能会更好:
$(document).ready(){
$("#displayto").keypress(function(){
alert('a');
});
}//end of document ready
可能事件在输入之前加载,这就是为什么不工作的原因,请尝试使用live
$(document).ready(){
$('input').live('keypress', function (e) {
if ( e.keyCode == 9 ){
alert( 'Tab pressed' );
}else
alert("another key pressed");
});
}
如果您没有使用输入标记,请尝试使用您正在使用的标记,如div的id可能是在输入之前加载事件,这就是为什么不起作用,请尝试使用live
$(document).ready(){
$('input').live('keypress', function (e) {
if ( e.keyCode == 9 ){
alert( 'Tab pressed' );
}else
alert("another key pressed");
});
}
如果您不使用输入标签,请尝试使用您正在使用的标签,例如div的id,这可能有点太晚了,但现在我正在处理相同的问题,并可能找到了解决方案 地雷情况如下:
<span onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
。。。
我在某处发现,为了使元素能够捕获关键事件,它需要是可聚焦的。默认情况下,所有输入元素都应该是可聚焦的,也可能是其他一些元素,在不同浏览器中有所不同
但是,您可以使元素可聚焦,在我的例子中,我使用了tabindex属性来实现这一点。像这样:
<span tabindex="" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
。。。
这在Firefox中有效,但在Chrome中无效。只有当我在tabindex属性中输入一些值时,事件才被实际触发,并执行onkeypress=“”中的javascript
所以现在我的结局是这样的:
<span tabindex="0" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
。。。
编辑:
我忘了补充一点,您实际上需要聚焦元素。我在onclick=”“中调用focus()。这可能有点太晚了,但现在我正在处理同样的问题,并可能找到了解决方案 地雷情况如下:
<span onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
。。。
我在某处发现,为了使元素能够捕获关键事件,它需要是可聚焦的。默认情况下,所有输入元素都应该是可聚焦的,也可能是其他一些元素,在不同浏览器中有所不同
但是,您可以使元素可聚焦,在我的例子中,我使用了tabindex属性来实现这一点。像这样:
<span tabindex="" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
。。。
这在Firefox中有效,但在Chrome中无效。只有当我在tabindex属性中输入一些值时,事件才被实际触发,并执行onkeypress=“”中的javascript
所以现在我的结局是这样的:
<span tabindex="0" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
。。。
编辑:
我忘了补充一点,您实际上需要聚焦元素。我在onclick=“”中调用focus()。我认为
onkeypress
仅用于文本类型输入,比如type=“text”
或
@bdares-它不是。在元素上按下并释放键时,会发生onkeypress事件。此属性可用于大多数元素。-@Smitha Abhilash—您正在从Perl生成HTML和JavaScript,而HTML/JavaScript不起作用。请向我们展示浏览器获取的代码,而不是生成它的代码的片段。当您向我们展示的代码中没有使用该库时,为什么要标记此库?您使用什么过程来测试代码?你是如何聚焦主播的?(你还记得这样做吗?)我认为按键上的onkeypress
只用于文本类型的输入,比如type=“text”
或
@bdares-它不是。在元素上按下并释放键时,会发生onkeypress事件。此属性可用于大多数元素。-@Smitha Abhilash—您正在从Perl生成HTML和JavaScript,而HTML/JavaScript不起作用。请向我们展示浏览器获取的代码,而不是生成它的代码的片段。当您向我们展示的代码中没有使用该库时,为什么要标记此库?您使用什么过程来测试代码?你是如何聚焦主播的?(你记得这么做吗?)谢谢你。做得好!这是我的说法:谢谢。做得好!以下是我的版本: