两个示例:JSfiddle without evenlistener和JSfiddle with eventlistener
两者的基本代码是:
HTML
# run azure test every 5 minutes
*/5 * * * * /opt/bin/azure-test >/tmp/azure-test.out 2>&1
JS
<body>
</body><p id="one" tabindex="0">ID one of tag P</p>
<input id="two" type="text" value="An input field">
<button id="three">A Button</button>
<p id="showid" tabindex="0"></p>
为了使脚本正常工作,我添加了function myFunction() {
var x = document.activeElement.id;
document.getElementById("showid").innerHTML = x;
}
(请参阅JSF的第一个示例),但如果我添加的是onclick="myFunction()"
而不是eventlistener
,我就不会正确的结果。
带有onclick="myFunction()"
的JS代码:
eventlistener
我在这里做错了什么?
答案 0 :(得分:1)
在您的第一个示例中,点击事件附加到正文。
<body onclick="myFunction()">
&#34; 点击强>&#34;可以使用事件代替&#39; DOMContentLoaded &#39;得到相同的结果:
document.addEventListener('click', function myFunction() {
var x = document.activeElement.id;
document.getElementById("showid").innerHTML = x;
}, false);
答案 1 :(得分:0)
您的问题很难理解,但根据您的评论和示例,我认为您想知道的是如何让您的函数在DOMContentLoaded上执行。
确实你的功能正在加载......
你的函数没有触发的原因是因为当你使用DOMContentLoaded事件时,'p'元素在你将它赋给x时没有激活,所以x是未定义的。
<cfheader name="Content-Type" value="application/json">
<cfoutput>#serializejson(result)#</cfoutput>
首先设置焦点,现在代码可以正常工作。