JavaScript onclick需要两次点击才能打开新标签

时间:2013-12-12 17:34:03

标签: javascript javascript-events onclick

我有一段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;
};

0 个答案:

没有答案