Windows应用商店应用程序中的Javascript使用
我正在努力使用Metro风格的应用程序。这是一个基本场景:按下主屏幕上的一个按钮后,跳转到另一个页面。然后,我动态创建部分html内容。例如:Windows应用商店应用程序中的Javascript使用,javascript,html,windows-store-apps,windows-8.1,Javascript,Html,Windows Store Apps,Windows 8.1,我正在努力使用Metro风格的应用程序。这是一个基本场景:按下主屏幕上的一个按钮后,跳转到另一个页面。然后,我动态创建部分html内容。例如: <img id="bbb" src="/images/1.jpg"> <img id="ccc" src="/images/2.jpg"> <img id="ddd" src="/images/3.jpg"> })() 当然部分: element.querySelector("#bbb").onclick = thi
<img id="bbb" src="/images/1.jpg">
<img id="ccc" src="/images/2.jpg">
<img id="ddd" src="/images/3.jpg">
})()
当然部分:
element.querySelector("#bbb").onclick = this.button1Click("ff");
这是一个循环
但在加载后,这种附件函数只执行一次(即使没有单击),然后消失。我在调试模式下检查了它,每个元素的loadonclick属性的值都是null。使用此方法:
element.querySelector("#bbb").addEventListener("click", this.button1Click("ff"), false);
还有一种组合,比如
document.getElementById("bbb").addEventListener("click", this.button1Click("ff"), false);
等等。
给出了相同的结果。非常感谢您的帮助。我认为您需要删除onClick函数的paren,因为这将立即调用函数(如您所观察到的) 由此: 为此: 然后,您需要将参数放入click函数中,可能需要将其绑定到html本身。可能有一种方法可以同时绑定函数args,但我对WinJS不太熟悉 HTML 此外,您可以稍微简化一些,在HTML中使用类而不是ID,并一次性分配onClick处理程序
document.getElementById("bbb").addEventListener("click", this.button1Click("ff"), false);
ready: function (element, options) {
element.querySelector("#bbb").onclick = this.button1Click("ff");
element.querySelector("#ccc").onclick = this.button1Click("ee");
element.querySelector("#ddd").onclick = this.button1Click("dd");
},
ready: function (element, options) {
element.querySelector("#bbb").onclick = this.button1Click;
element.querySelector("#ccc").onclick = this.button1Click;
element.querySelector("#ddd").onclick = this.button1Click;
},
<img id="bbb" src="/images/1.jpg" data-arg="ff">
function button1Click() {
// Get the clicked element
// JQuery solution
var arg = $(this).data('arg');
console.log(arg)
}