我有一段JavaScript,可以根据特定情况打开新标签页或在当前页面上显示弹出式叠加层。
为了确定要执行的操作,我需要在onclick事件期间向DOM附加两个脚本。
在onclick期间附加脚本的原因是元素的点击率低。
现在,叠加行为按预期工作,但是当需要打开新标签时,需要两次点击而不是一次。
以下是onclick事件的代码片段:
button_link.onclick = function () {
var _this = this;
appendScript('http://example.com/script1.js', function () {
appendScript('http://example.com/script2.js', function () {
if (isNewWindow() || fitsDimensions(button_link.offsetHeight) || (script1Val && !script2Val)) {
// Open a new tab
button_link.href = button_link.href.replace('false', 'true'); // make sure param is true
_this.onclick = 'return '+true;
return true;
}
_this.onclick = 'return '+false;
appendScript(URL_SCHEME+'ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js', function () {
appendScript('http://example.com/script3.js', function () {
// Call function from script3.js to create popup overlay
});
});
return false;
});
});
return false;
};