【发布时间】:2016-06-18 21:52:59
【问题描述】:
我已经一起破解了 vanilla javascript 以在点击事件时加载外部脚本。
var searchLabel = document.getElementById('search-toggle-label');
searchLabel.onclick = function(){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "wp-content/themes/2016/js/cse.js.";
document.getElementsByTagName("head")[0].appendChild(script);
return false;
}
但每次点击事件时它都会加载相同的脚本。
所以我加入了一个 if 语句来检查值和类型。 "==="
var searchLabel = document.getElementById('search-toggle-label');
if (typeof searchLabel === 'undefined') {
searchLabel.onclick = function() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "wp-content/themes/2016/js/cse.js.";
document.getElementsByTagName("head")[0].appendChild(script);
return false;
}
}
else {
alert('loaded already');
}
显然,这是错误的,因为我在页面加载和点击事件时收到警报,脚本未加载。
我被难住了。我知道使用 jQuery 有一个简单的解决方案,但我正在尝试真正学习编写 javascript。
任何帮助将不胜感激。
【问题讨论】:
-
你想让它做什么?只在第一次点击时加载脚本?
-
是的。仅在第一次点击时加载脚本,而不是在后续点击时加载。
标签: javascript onclick getelementbyid typeof getelementsbytagname