gpt4 book ai didi

javascript - 如何从 jQuery 插件中附加 keyup 事件

转载 作者:行者123 更新时间:2023-11-30 00:33:27 24 4
gpt4 key购买 nike

我有一个 jQuery 插件,里面有一个初始化函数。在这个初始化函数中,我附加了一些事件:

(function ( $ ) {

$.fn.gallery = function(options) {

var init = function(self) {

var main += '<input id="gallery-search">';

//click event for the filter checkboxes
$("body").on('click', self.selector+" .gallery-filter-checkbox",function(event) {
self.data(filter( self ));
});

//capture input in the search box
$('#gallery-search').keyup(function(){
console.log('test');
});

self.html(output);

}

}( jQuery ));

}

第一个工作得很好,但第二个根本不工作。我已经在插件范围之外对其进行了测试,它工作正常,因此没有语法错误,但可能是我尝试附加事件的方式有误?

最佳答案

由于 #gallery-search 是动态创建的,您可以使用 delegated event handler :

$(document).on('keyup', '#gallery-search', function() { ... });

如果 self 表示页面中的静态 HTML 元素,您可以使用更好的(为了性能)版本:

self.on('keyup', '#gallery-search', function() { ... });

或者如果以后不修改 HTML,您可以在元素插入后在代码中放置事件处理程序:

self.html(output);
$('#gallery-search').keyup(function()
{
console.log('test');
});

关于javascript - 如何从 jQuery 插件中附加 keyup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28278604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com