如何在运行时添加的对象上执行Jquery插件
How to excute Jquery plugin on an object added at runtime
我有一个JQuery
插件,它计算textarea
中的字符数。但是,如果我在运行时使用append("<textarea></textarea>")
添加了文本区域,例如,。
如何在附加的textarea
上执行此插件?
$("textarea").charCount({
allowed: 200,
warning: 30,
counterText: 'Characters left: '
});
正在运行时添加文本区域。。
$("#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);
});
在用于将文本区域添加到div的按钮的点击事件处理程序中,添加对插件方法的调用。
由于我看不到整个代码,我将假设插件在运行时也会在$(document).ready()
或类似的东西中自动调用。如果在调用后添加文本区域,则需要重新运行插件。
你所要做的就是将你再次发布的代码添加到你的点击事件代码中,但为了效率,我建议你添加另一个选项来搜索具有特定类的文本区域,然后在插件运行后删除该类,而不是在每个文本区域上再次运行插件。这样,你就可以把所有新的文本区域都给这个类,当插件在它们上运行后,它就再也不会看它们了。
祝你好运!
编辑:我的一个朋友回头看了看我,建议我澄清一下:你不必以任何方式修改你的插件(当然,我看不到完整的代码,所以我不能100%确定,但我们只能说我95%确定)。您要做的是更改事件处理程序(以及document.ready中的任何调用,从技术上讲,它是一个事件处理程序),如下所示:
$("#buttonID").click(function() {
...your code...
$("#placeToAddNewTextArea").append("<textarea class="newTA"></textarea>");
$("textarea.newTA").charCount({ ......... });
$("textarea.newTA").removeClass("newTA");
});
换句话说,您可以使用CSS作为标志,并在插件代码之外创建、使用和删除它们。
查看jQuery SuperLive。
根据作者:
jQuery SuperLive是我最喜欢的新插件。Allen Mackley和我创建这个是为了解决大量应用JS问题。无论页面上何时存在元素,我们都需要插件来工作,而且,如果添加了属性,插件应该重新启用。
SuperLive做到了这一切。
这在IE中不起作用。还需要jQuery 1.7
演示视频:http://www.youtube.com/watch?v=mh5mGR2GyLY
下载:http://code.google.com/p/jquery-superlive/downloads/list
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- 在Grails中的gsp中执行jquery代码
- 使用数组表示法对多个字段执行jQuery日期选择器
- 可以'不能间接执行JQuery函数
- 必须等待执行 jQuery,直到加载服务
- 如何按顺序执行 jQuery 函数
- 如何在 ul 标签下执行 JQuery UI 自动完成
- 如何在Safari提交表单之前执行JQuery
- 对未知数量的元素执行Jquery循环
- 页面内容加载完毕后执行Jquery功能
- 在动态列表中单击的特定img上执行JQuery
- 如何在运行时添加的对象上执行Jquery插件
- Android-Javascript:如何在webview中执行jquery
- 在setTimeout中执行jQuery成员函数而不关闭的方法
- Jquery:在Jquery的(字符串)变量中执行Jquery脚本
- 执行Jquery函数()的两个条件
- 表单提交成功后调用/执行JQuery函数
- 当记录达到10以上时,Bootstrap中的DataTable不执行jQuery
- 通过javascript加载jQuery后执行jQuery代码
- 如何正确执行Jquery动画浮动