我想在我的项目中创建自定义属性,该属性将在“data-bind”属性为calles的同一时刻调用。 我希望你能理解我,所以请阅读我的解释: 我知道如何创建自定义属性并知道如何使用它。但问题是,我的项目有很多页面。我不希望所有团队成员如何使用我的属性(称为“data-re”)来调用我的函数。 我希望和“data-bind”属性一样,任何方式解决,你不必每个页面调用它,所以我想找到写我的代码的地方,这个代码将在每一页完成无需特别编写。 这是我的代码:
<input type="text" data-re="value:40"/>
function compositionComplete(){
var dict = cacheManager.get(cacheItems.DICT);;
var reElms = document.querySelectorAll('[data-re]');
for (var n = 0; n < resElms.length; n++) {
var reEl = reElms[n];
if (n != 1) {
var dataRe = reEl.getAttribute('data-re');
while (dataRe) {
var attr = dataRe;
var cutPlace = dataRe.lastIndexOf(',');
if (cutPlace >= 0) {
attr = reKey.substring(cutPlace, dataRe.length - 1);
}
var reKey = attr.substring(attr.indexOf(':') + 1, attr.length);
var attrName = attr.substring(0, attr.indexOf(':'));
reEl[attrName] = dict[reKey].Descript;
dataRe = dataRe.substring(attr.length, dataRe.length);
if (cutPlace)
dataRe = dataRe.substring(0, 1);
}
}
}
我的项目是在durandal。到目前为止,“data-re”属性背后的代码位于“compositionComplete”中。我不想在我的页面中写任何关于它的内容!我该怎么办? 谢谢, Rut Nativ。
答案 0 :(得分:0)
您可以使用liveQuery并在添加到页面的每个html元素后跟踪:
$("[data-res]").livequery(function () {
your logic code...
});