模板的就绪事件
Ready event for templates
在 JsViews 中,我可以通过以下方式绑定事件:
<li id="myElement" data-link="{on 'click' eventHandler}">Some Content</li>
这将在点击后执行方法"eventHandler"。
但是我需要一个在加载模板时触发的事件。我尝试了 "ready" 或 "show",但没有任何效果。有没有可以处理这个的事件?
{on xxx eventHandler}
handles events on HTML elements,比如鼠标事件,submit,change,blur等
使用 JsViews,模板的加载直接作为您自己的代码调用 link 方法的结果。因此,呈现模板中的元素将在该调用期间呈现,并且在您可以 运行 在呈现和链接之后立即调用您想要调用的任何代码,例如使用 jQuery 找到您的 <li>
元素,作用于元素
JsViews 还提供了许多 life-cycle events on tags,因此如果您愿意,可以创建一个自定义标签来处理这些事件:
例如,尝试 运行使用以下代码:
<span id="result"></span>
<script>
var data = {};
$.views.tags("test", {
attr:"none",
render: function(data) {
debugger;
},
onBind: function(tagCtx, linkCtx) {
var elem = this.parentElem;
elem.textContent += " added text";
}
});
var myTmpl = $.templates('<ul><li id="myElement" data-link="{test}">Some Content</li></ul>');
myTmpl.link("#result", data);
$("#myElement").css('color', 'red');
</script>
您可以使用 onload 事件:-
https://www.w3schools.com/jsref/event_onload.asp
并将其附加到模板本身。如果您的选择有限或需要以特定方式进行,请解释用例以及为什么要以特定方式进行操作,我们会尽力提供帮助。
祝一切顺利,
菲尔
在 JsViews 中,我可以通过以下方式绑定事件:
<li id="myElement" data-link="{on 'click' eventHandler}">Some Content</li>
这将在点击后执行方法"eventHandler"。 但是我需要一个在加载模板时触发的事件。我尝试了 "ready" 或 "show",但没有任何效果。有没有可以处理这个的事件?
{on xxx eventHandler}
handles events on HTML elements,比如鼠标事件,submit,change,blur等
使用 JsViews,模板的加载直接作为您自己的代码调用 link 方法的结果。因此,呈现模板中的元素将在该调用期间呈现,并且在您可以 运行 在呈现和链接之后立即调用您想要调用的任何代码,例如使用 jQuery 找到您的 <li>
元素,作用于元素
JsViews 还提供了许多 life-cycle events on tags,因此如果您愿意,可以创建一个自定义标签来处理这些事件:
例如,尝试 运行使用以下代码:
<span id="result"></span>
<script>
var data = {};
$.views.tags("test", {
attr:"none",
render: function(data) {
debugger;
},
onBind: function(tagCtx, linkCtx) {
var elem = this.parentElem;
elem.textContent += " added text";
}
});
var myTmpl = $.templates('<ul><li id="myElement" data-link="{test}">Some Content</li></ul>');
myTmpl.link("#result", data);
$("#myElement").css('color', 'red');
</script>
您可以使用 onload 事件:-
https://www.w3schools.com/jsref/event_onload.asp
并将其附加到模板本身。如果您的选择有限或需要以特定方式进行,请解释用例以及为什么要以特定方式进行操作,我们会尽力提供帮助。 祝一切顺利,
菲尔