jquery - 在图像获得焦点时触发单击事件

时间:2012-01-17 17:11:15

标签: jquery

我有一个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>");
});

3 个答案:

答案 0 :(得分:1)

请注意图片上的focus事件。我在图片中添加了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.
     });
});

答案 1 :(得分:0)

假设您处理了这样的回车键事件:

$("#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 );
} );

答案 2 :(得分:0)

以下是您需要的示例:

http://jsbin.com/upowip

右上方或只是查看来源有一个编辑链接。