2009-08-23 65 views
1

我有点不安。我得到了这个我正在使用的颜色选择器插件和一些文本框。所以颜色选择器脚本运行并绑定这些文本框。但后来我动态加载了更多的文本框,我希望他们将颜色选择器插件放在这些文本框上。如何使jquery插件使用jquery.live?

但目前它不会,我不知道如何让他们得到这个插件。我尝试过“现场”,但那不太好。

+0

什么是插件? – 2009-08-23 00:21:16

回答

0

由于$ .live()可能会减慢速度,所以您可能会考虑在每次创建新文本框时对函数进行重新绑定。

$("#whateverDiv").append("<input type='text' class='specialTextbox' />"; 
$(".specialTextbox").colorPicker(); 

//some time later 
$("#anotherDiv").append("<input type='text' class='specialTextbox' />"; 
$(".specialTextbox").colorPicker(); 
+0

我的理解是你有这样的事情。你添加colorPicker脚本并让它运行。然后下一个脚本是你的东西,然后它将它绑定。然后,它完成了,如果你添加另一个它不会被渲染。 – chobo2 2009-08-23 01:16:06

+0

添加下一个后,只需再次调用colorPicker() – 2009-08-23 01:18:28

0
$('button').live('click', function() { 
    functionInvocation(this); 
}); 

这将附加一个点击事件处理程序添加到任何按钮元素。您可以将其调整为另一种类型的操作,但是您能否更具体地了解您需要什么以及您的拾色器是如何工作的?

0

颜色选取器脚本如何将自己附加到输入的第一个地方?随着ThickBox的,例如,它只是给

tb_init('some-selector-here-to-which-thickboxes-should-be-applied'); 

呼叫是否有相应的调用这个插件,你可以简单地调用自己,当你添加额外的输入以后呢?

如果不是,则可能需要修改插件以支持该行为。

0

尝试编辑插件本身,方法是用函数中的live替换bind。或者添加一个参数来使用实时而不是绑定。

$(target).click(function(){ 
//plugin codes 
}); 

//replace with this 
$(target).live('click',function(){ 
//plugin codes 
});