Jquery 如何为我自己的函数迭代的每个元素绑定一个函数?
基本上,如果这是我的代码:Jquery 如何为我自己的函数迭代的每个元素绑定一个函数?,jquery,html,Jquery,Html,基本上,如果这是我的代码: jQuery.fn.createSelector = function(){ return this.hide() .after('<div class="newElement"></div>'); // bind'em ! $(".newElement").click(function(){ alert('test'); }); }; jQuery.fn.createSelector=functio
jQuery.fn.createSelector = function(){
return this.hide()
.after('<div class="newElement"></div>');
// bind'em !
$(".newElement").click(function(){
alert('test');
});
};
jQuery.fn.createSelector=function(){
返回这个。hide()
.在('')之后;
//把他们绑起来!
$(“.newElement”)。单击(函数(){
警报(“测试”);
});
};
函数返回元素(将其插入HTML),但不绑定该元素上的单击事件。我需要在我的函数插入的每个元素上绑定各种事件,但我不知道如何绑定:(谷歌也没有真正的帮助
提前感谢!在调用
之前,您的函数正在添加新元素,然后立即返回。单击()
,因此处理程序永远不会绑定
在绑定到新元素后,返回调用的元素.createSelector()
:
jQuery.fn.createSelector = function() {
this.hide().after('<div class="newElement"></div>');
$(".newElement").click(function() {
alert('test');
});
return this;
};
jQuery.fn.createSelector=function(){
this.hide()在(“”)之后;
$(“.newElement”)。单击(函数(){
警报(“测试”);
});
归还这个;
};
在调用之前,您的函数正在添加新元素,然后立即返回。单击()
,因此处理程序永远不会绑定
在绑定到新元素后,返回调用的元素.createSelector()
:
jQuery.fn.createSelector = function() {
this.hide().after('<div class="newElement"></div>');
$(".newElement").click(function() {
alert('test');
});
return this;
};
jQuery.fn.createSelector=function(){
this.hide()在(“”)之后;
$(“.newElement”)。单击(函数(){
警报(“测试”);
});
归还这个;
};
在执行绑定之前返回。只需重新排列即可:
var $newElement = $('<div class="newElement"></div>');
$newElement.click(yourFunc);
return this.hide().after($newElement);
然后您的createSelector
主体将是:
return this.hide().after('<div class="newElement"></div>');
在(“”)之后返回this.hide();
事件会自动、被动地“绑定”到它。在执行绑定之前,您将返回。只需重新排列,就可以得到它:
var $newElement = $('<div class="newElement"></div>');
$newElement.click(yourFunc);
return this.hide().after($newElement);
然后您的createSelector
主体将是:
return this.hide().after('<div class="newElement"></div>');
在(“”)之后返回this.hide();
事件将自动、被动地“绑定”到它。“win的声明性事件绑定”+1实际上,您发现了我的下一个问题,但我需要的情况正好相反。使用我的函数,我正在迭代所有
标记,并将它们替换为我自己的自定义select div。单击这些div中的每个div,我需要为每个select
打开一个选项列表,因此我需要将单击绑定为uniquely=select1打开列表1,select2打开列表2,等等。我不知道怎么做:(@RiMMER:有几种方法可以做到这一点(我想我理解你的意图),但解决方案非常复杂,我无法在评论中描述它们。如果你不能弄明白,它本身就有一个问题。我只想警告你,创建一个新的jQuery函数是相对高级的,除非你要做一个反复使用的扩展(完全可能)有更简单的方法来完成您所描述的。“win的声明性事件绑定”+1实际上,您发现了我的下一个问题,但我需要的情况正好相反。使用我的函数,我正在迭代所有
标记,并将它们替换为我自己的自定义select div。单击这些div中的每个div,我需要为每个select
打开一个选项列表,因此我需要将单击绑定为uniquely=select1打开列表1,select2打开列表2,等等。我不知道怎么做:(@RiMMER:有几种方法可以做到这一点(我想我理解你的意图),但解决方案非常复杂,我无法在评论中描述它们。如果你不能弄明白,它本身就有一个问题。我只想警告你,创建一个新的jQuery函数是相对高级的,除非你要做一个反复使用的扩展(完全可能)有更简单的方法来实现您所描述的。