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