0

我对 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);
                }

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

4

1 回答 1

0

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

于 2013-08-04T07:20:24.247 回答