我有一个jquery函数
$('.class').reducetext(10);
功能是
$.fn.reducetext=function(length){
$(this).text($(this).text().substr(0,length))
}
我将把它放在document.ready中 $(”。类)reducetext(10);
所以它会减少.class元素的字符串
我想要的是
这些'.class'元素将使用ajax
动态加载所以每当ajax打电话时 我可以打电话给$('。class')。reducetext(10);
但我不想在每次ajax调用上调用它
在一个电话中,我想这样做
如果是点击或任何类似的事件,我可以使用“on” 但为此我应该写什么代码?
答案 0 :(得分:1)
您不必重新使用$('.class').reducetext(10);
,因为您没有使用.class
元素处理任何事件。事件委托是针对动态创建的元素完成的,但不需要像您一样使用简单的用例...
即使对于动态创建的元素,也会应用像$(elem).text('...')
这样的东西。
但是等等!您正在使用ajax调用来插入元素,然后您有另一个选项,以便您只需注册一次$('.class').reducetext(10);
之类的方法。为此,您需要使用:
$(document).on('DOMSubTreeModified propertychange',function(){
$('.class').reducetext(10);
});
对于IE,您使用propertychange方法。
答案 1 :(得分:1)
为获得最佳性能,请在AJAX调用的成功处理程序中添加$('.class').reducetext(10);
。
这将是一个开销设置另一个功能并为此运行它。
回复您的评论:
AJAX不是一个单独的插件。它内置在Javascript和jQuery中。
读取: