0

我有以下代码可以正常工作...用户在文本框中输入文本,然后单击输入以保存它:

$('#tagit #btnsave').live('click',function(){
    name = $('#tagName').val();
    counter++;
    $('#taglist ol').append('<li rel="'+counter+'"><a>'+name+'</a> (<a class="remove">Remove</a>)</li>');
    $('#imgtag').append('<div class="tagview" id="view_'+counter+'"></div>');
    $('#view_' + counter).css({top:mouseY,left:mouseX});
    $('#tagit').fadeOut();
});

我想要做的是能够使用回车按钮而不是点击#btnsave按钮,所以我正在尝试:

$('#tagName').keyup(function(event){
    if(event.keyCode == 13){
        $('#tagit #btnsave').click();
    }
});

但它什么也没做 - 有没有更好的方法来做到这一点?

4

3 回答 3

1

您可以 .trigger()在 jQuery中使用

 $('#tagit #btnsave').trigger("click");

并使用.on()而不是 ..live()因为它已被弃用。

于 2013-05-27T04:29:21.847 回答
1

尝试使用.trigger 之类的

$('#tagName').keyup(function(event){
    if(event.keyCode == 13){
        $('#btnsave').trigger('click');
    }
});

并尽量避免使用 .live 功能,因为它已被贬低。而不是 .live 尝试使用 .on 之类的

$('#tagit #btnsave').on('click',function(){
于 2013-05-27T04:29:39.253 回答
0

#tagName当您将 keyup 事件绑定到该元素时,请注意所指的内容。只有选择了该元素,该事件才会运行。如果您希望事件始终在按下回车键时发生,您可以将事件绑定到窗口。

于 2013-05-27T04:32:02.997 回答