Javascript 如何在运行时添加的对象上执行Jquery插件
我有一个Javascript 如何在运行时添加的对象上执行Jquery插件,javascript,jquery,plugins,runtime,textarea,Javascript,Jquery,Plugins,Runtime,Textarea,我有一个JQuery插件,可以计算textarea中的字符数。 但是,如果我在运行时使用append(“”)添加textarea,例如 如何在附加的textarea上执行此插件 $("textarea").charCount({ allowed: 200, warning: 30, counterText: 'Characters left
JQuery
插件,可以计算textarea
中的字符数。
但是,如果我在运行时使用append(“”)
添加textarea,例如
如何在附加的textarea
上执行此插件
$("textarea").charCount({
allowed: 200,
warning: 30,
counterText: 'Characters left: '
});
正在运行时添加textarea
$("#btnAddStep").click(function () {
var text = "" +
" <div class='row-fluid'>" +
" <div class='span10'>" +
" <input type='text' class='span12' placeholder='Type something…'>" +
" </div>" +
" <div class='span2'>" +
" <div class='btn-group'>" +
" <button class='btn btn-mini' id='btnAddStep'><i class='icon icon-plus'></i></button>" +
" <button class='btn btn-mini'><i class='icon icon-minus'></i></button>" +
" </div>" +
" </div>" +
" </div>" ;
$("#response>#steps").append(text);
});
$(“#btnAddStep”)。单击(函数(){
var text=“”+
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " ;
$(“#响应>#步骤”)。追加(文本);
});
在click事件处理程序中,对于用于将textarea添加到div的按钮,添加对插件方法的调用
由于我看不到完整的代码,我将假设插件也会在运行时在$(document).ready()
或类似文件中自动调用。如果在调用后添加textarea,则需要重新运行插件
你所要做的就是将你发布的代码再次添加到你的点击事件代码中,但是为了提高效率,我建议你添加另一个选项来搜索具有特定类的文本区域,然后在插件运行后删除该类,而不是在每个文本区域上再次运行插件。这样,你可以给你所有的新文本区域这个类,在插件运行之后,它将永远不会再看到它们
祝你好运
编辑:我的一个朋友正在回头看我,建议我澄清一点:你不必以任何方式修改你的插件(当然,我看不到完整的代码,所以我不能100%肯定这一点,但让我们说我95%肯定)。您要做的是更改事件处理程序(以及document.ready中的任何调用,从技术上讲,document.ready是一个事件处理程序),如下所示:
$(“#按钮”)。单击(函数(){
…你的代码。。。
$(“#placeToAddNewTextArea”)。追加(“”);
$(“textarea.newTA”).charCount({……..});
$(“textarea.newTA”).removeClass(“newTA”);
});
换句话说,您可以使用CSS作为标志,并在插件代码之外创建、使用和删除它们 查看jQuery SuperLive 据作者说: jQuery SuperLive是我最喜欢的新插件。Allen Mackley和我创建这个来解决大量的applicate JS问题。无论页面上何时存在元素,我们都需要插件工作,如果添加了属性,插件应该重新启用 SuperLive完成了所有这些 这在IE中不起作用。IE不支持突变事件。 还需要jQuery1.7 演示视频:
下载:您需要使用jQuery 1.7的
.on()
方法,或者对于以前的verison,使用.delegate()
方法,将此处理程序委托给document对象。您能给我举个例子吗?我需要查看调用函数以计数字符的处理程序。没有,就像在风中撒尿。这个函数叫什么。这是一个点击,有什么方法可以做到这一点?您是否希望在将textarea添加到DOM时运行此操作?当单击按钮时,我将textarea附加到div,是的,我希望在将textarea添加到DOM时运行此操作?
$("#buttonID").click(function() {
...your code...
$("#placeToAddNewTextArea").append("<textarea class="newTA"></textarea>");
$("textarea.newTA").charCount({ ......... });
$("textarea.newTA").removeClass("newTA");
});