在JsViews中,我可以通过以下方式绑定事件:
<li id="myElement" data-link="{on 'click' eventHandler}">Some Content</li>
单击后将执行方法“ eventHandler”。 但是我需要一个事件,在加载模板时会触发该事件。我尝试“就绪”或“显示”,但没有任何效果。有没有可以处理的事件?
答案 0 :(得分:1)
{on xxx eventHandler}
handles events on HTML elements,例如鼠标事件,提交,更改,模糊等。
使用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>
答案 1 :(得分:0)
您可以使用onload事件:-
https://www.w3schools.com/jsref/event_onload.asp
,并将其附加到模板本身。如果您的选择有限,或者需要以特定的方式进行操作,请说明用例以及为什么要以特定的方式进行操作,我们将尽力提供帮助。 一切顺利,
菲尔