尝试创建自己的插件并设法将基本的插件排序。
我添加了自定义文字字段,以便我可以使用以下格式向元素添加自定义属性 {" data-title":"我的数据标题&#34 ;,"数据-ID":" 001"} 即可。我也可以编辑元素,然后返回自定义属性。
这很好用,可以添加我喜欢的数量。麻烦的是当我想删除一个,我只是从文本字段中删除它并单击确定,但我必须单击它两次,不能说明原因。这是我到目前为止所获得的代码,可能有更好的方法来做到这一点,但这种方法有效。
commit: function(element) {
//core attributes to ignore
var ignoreArr=["href","id","name","data-cke-saved-href","class","style","title"];
//add to ignore Array, attributes to keep
var data=$.parseJSON('['+this.getValue()+']');
if(data) {
$(data).each(function(i,val){
$.each(val,function(k,v){
ignoreArr.push(k);
});
});
}
//alert(ignoreArr);
//remove all uneeded custom attributes first
$.each(element.$.attributes, function(k,v) {
if(v) { //MOD :: had to add this check in to stop the double click
if(jQuery.inArray(v.name,ignoreArr)==-1) {
element.removeAttribute(v.name);
}
}
});
//will create custom attributes
if(data) {
$(data).each(function(i,val){
$.each(val,function(k,v){
element.setAttribute(k,v);
});
});
} //end if data
}
问题似乎是这行 element.removeAttribute(v.name); ,如果我用警报替换它,一切正常。现在双击并不是世界末日,我只是讨厌为什么,我不知道为什么,任何人都会得到一个建议/解决方案。