Javascript 动态创建js函数
我想动态(在循环中)将函数绑定到几个div的Javascript 动态创建js函数,javascript,jquery,animation,Javascript,Jquery,Animation,我想动态(在循环中)将函数绑定到几个div的。click()事件。然后单击函数应该隐藏单击的div。按照我尝试的方式,我丢失了对div的引用,“this.”对我也不起作用 下面是我要绑定的函数: function do_hide() { is_anim = true; $(this).animate({ opacity: 0.25, height: 'toggle', width: 'toggle' }, 5000
。click()
事件。然后单击函数应该隐藏单击的div。按照我尝试的方式,我丢失了对div的引用,“this.”对我也不起作用
下面是我要绑定的函数:
function do_hide() {
is_anim = true;
$(this).animate({
opacity: 0.25,
height: 'toggle',
width: 'toggle'
}, 5000, function() {
is_anim = false;
this.hide();
});
}
谢谢你的帮助
编辑:ghayes帮助下的解决方案
此处调用do_hide():
for (var i = 0; i < n; i++)
{
p[i] = $("#btn"+(i+1));
p[i].click(function() {
do_hide.call(this);
});
}
(变量i=0;i
{
p[i]=$(#btn+(i+1));
p[i]。单击(函数(){
不要隐藏。打电话给(这个);
});
}
您可以为此使用jquery
只需编写代码隐藏在live中绑定的函数中,例如$(this).hide()您可以使用jquery实现此目的
只需编写代码隐藏在live中绑定的函数中,例如$(this).hide()$('divselector')。单击(do\u hide)
这一定能奏效。或者单击绑定中是否有其他代码?$('divselector')。单击(do\u hide)
这一定能奏效。或者单击绑定中是否有其他代码?您可以在调用“do\u hide”时绑定它的作用域。我建议采用如下模式:(工作模式)
希望这有帮助 调用“do_hide”时,可以绑定它的作用域。我建议采用如下模式:(工作模式)
希望这有帮助 Jatin有您正在寻找的解决方案 您是只绑定了一次click事件,还是每次创建新div时都绑定了click事件 在任何情况下,如果使用.live方法进行绑定,它将在创建元素时绑定事件 在页面的任何位置添加此选项都会使其正常工作:
$('div').live('click',do_hide);
Jatin有您正在寻找的解决方案 您是只绑定了一次click事件,还是每次创建新div时都绑定了click事件 在任何情况下,如果使用.live方法进行绑定,它将在创建元素时绑定事件 在页面的任何位置添加此选项都会使其正常工作:
$('div').live('click',do_hide);
调用do_hide()的位置在哪里?调用do_hide()的位置在哪里?谢谢,这对我帮助很大,这样我就不会丢失对$(this)的引用。谢谢,这对我帮助很大,这样我就不会丢失对$(this)的引用。