如何将内联js动作传递给外部js文件?

时间:2013-08-04 02:00:58

标签: javascript jquery

我对JS的知识相当有限,但我们在页面上有一个动作,它导致外部js文件中的if语句。我正在使用(event.toElement),它在chrome中工作但不是ff或opera。

内联js

    $("div#jquery-live-search .dialog-iframe-card").dialog2IFrame(  { 
            height:900,
              closeOnOverlayClick: true, 
              closeOnEscape: true, 
              removeOnClose: true, 
              showCloseHandle: true,
}); 

    $("div#jquery-live-search .dialog-iframe-report").dialog2IFrame(    { 
                height:900,
                  closeOnOverlayClick: true, 
                  closeOnEscape: true, 
                  removeOnClose: true, 
                  showCloseHandle: true,
    }); 
    }); 

外部js

var parentHtml = "";
            if ($(event.toElement).hasClass("dialog-iframe-card")) {
            parentHtml = $(__DIALOG_HTML_CARD);
            } else if ($(event.toElement).hasClass("dialog-iframe-report")) {
            parentHtml = $(__DIALOG_HTML_REPORT);
            }

parentHTML在js文件的开头有一个变量,当if语句进行切换时会加载该变量。在Chrome以外的浏览器中工作时,我似乎无法弄清楚如何将正确的操作传递给外部文件。

我还尝试了以下仅适用于chrome ...

var $target = $(event.target);
                if ($target.hasClass("dialog-iframe-card")) {
                parentHtml = $(__DIALOG_HTML_CARD);
                } else if ($target.hasClass("dialog-iframe-report")) {
                parentHtml = $(__DIALOG_HTML_REPORT);
                }

建议的答案不回答或解决问题。

1 个答案:

答案 0 :(得分:0)

您应该使用event.target来找出触发事件的元素。看看这个http://api.jquery.com/event.target/