jquery-在图像获得焦点时触发单击事件
我有一个jquery-在图像获得焦点时触发单击事件,jquery,Jquery,我有一个div元素,动态生成一个输入字段和一个图像。当我单击输入字段,然后使用tab键时,图像获得焦点 我想做什么 当图像有焦点时,我想触发一个回车键事件 HTML <div id="myDiv"></div> JQuery $(document).ready(function(){ $("div#myDiv").html("<input type='text' tabindex='1'></input><a><i
div
元素,动态生成一个输入字段和一个图像。当我单击输入字段,然后使用tab键时,图像获得焦点
我想做什么
当图像有焦点时,我想触发一个回车键事件
HTML
<div id="myDiv"></div>
JQuery
$(document).ready(function(){
$("div#myDiv").html("<input type='text' tabindex='1'></input><a><img src='icon.gif' tabindex='2'></img></a>");
});
$(文档).ready(函数(){
$(“div#myDiv”).html(“”);
});
只需将事件聚焦在图像上即可。我在图像中添加了一个focustrigger
类,这样该代码就不会应用于所有img
元素
$(document).ready(function(){
$("div#myDiv").html("<input type='text' tabindex='1'></input><a><img src='icon.gif' class='focustrigger' tabindex='2'></img></a>");
$('.focustrigger').focus(function() {
// Trigger your "enter key event" here.
});
});
$(文档).ready(函数(){
$(“div#myDiv”).html(“”);
$('.focustrigger').focus(函数(){
//在此处触发“输入密钥事件”。
});
});
假设您像这样处理enter键事件:
$("#myDiv input").keypress( function(evt) {
var code = evt.keyCode ? evt.keyCode : evt.which;
if ( code == 13 ) alert( "OK" );
} );
当图像获得焦点时,您可以使用此选项触发它:
$("#myDiv img").focus( function( ) {
var evt = jQuery.Event('keypress');
evt.keyCode = 13;
$("#myDiv input").trigger( evt );
} );
以下是您需要的示例:
右上角有一个编辑链接,或者只是查看源代码。是否触发一个键事件来调用另一个处理程序?如果是这样,为什么不将处理程序代码放入一个函数中并从两者调用它呢?您可以使用evt.which
。jQuery使其跨浏览器兼容。实际上,在我的示例中,您可以在“on”函数中放入任何内容来处理任何内容。您可以在img上处理按键事件并检查输入键代码。