[英]Need help delegating my jquery plugin
我有一個用於省略文字的小jQuery插件。 問題是,現在我需要以生動的方式使用此插件(使用剔除)。 如果要動態加載頁面的所有元素,該如何在頁面的所有元素中使用此插件?
我的插件:
(function ($){
$.fn.ellipsiText= function(options) {
var settings = $.extend({
length : 30,
ellipsi : "..."
}, options );
return this.each(function() {
var elem = $(this);
var txt = elem.text();
if (txt.length>settings.length) {
elem.text(txt.substr(0,settings.length - settings.ellipsi.length) + settings.ellipsi );
}
});
};
您可以將其轉換為敲除自定義綁定的功能。
省略號文本綁定:-
ko.bindingHandlers.ellipsiText = {
init: function (element, valueAccessor, allBindingsAccessor) {
$el = $(element);
ko.utils.registerEventHandler(element, "change", function () {
var observable = valueAccessor();
observable($el.val());
});
},
update: function (element, valueAccessor, allBindingsAccessor, context) {
var options = allBindingsAccessor().ellipsiTextOptions || {};
var settings = $.extend({
length: 30,
ellipsi: "..."
}, options);
var value = valueAccessor();
var $element = $(element);
var txt = value();
if (txt.length > settings.length) {
$element.text(txt.substr(0, settings.length - settings.ellipsi.length) + settings.ellipsi);
}else {
$element.text(txt);
}
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.