gpt4 book ai didi

javascript - 如何在不破坏其他东西的情况下修复 “element.dispatchEvent is not a function”?

转载 作者:行者123 更新时间:2023-11-30 17:10:43 28 4
gpt4 key购买 nike

我有同样的问题 "element.dispatchEvent is not a function" js error caught in firebug of FF3.0但在谷歌浏览器中。

我写了<script>jQuery.noConflict();</script>毕竟脚本。但是现在我有另一个问题:

  ...
$("a.try").click(function () {
...

undefined 不是函数

 ...
var blockHeight = $(window).height();
...

undefined 不是函数

因此第一次修复是无效的。

附言

我包含脚本的 html 部分:

....
<script type="text/javascript"
src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript"
src="<c:url value='/resources/js/underscore.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/resources/js/jquery-1.8.2.min.js'/>"></script>

<script type="text/javascript"
src="<c:url value='/resources/js/jquery.mousewheel.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/resources/js/popup.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/resources/js/jquery.jscrollpane.min.js'/>"></script>

<script type="text/javascript"
src="<c:url value='/resources/js/scroll-startstop.events.jquery.js'/>"></script>

<script type="text/javascript"
src="<c:url value='/resources/js/jquery-ui-1.10.0.custom.min.js'/>"></script>

<script type="text/javascript"
src="<c:url value='/resources/js/script-ini.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/resources/js/map/map.js'/>"></script>
<script type="text/javascript"
src="//maps.google.com/maps/api/js?sensor=true&js?v=3.exp&libraries=places"></script>

<script type="text/template" id="terminal-template">
...
</script>
<style>
.grey-terminal {
background-color: rgb(226, 226, 226);
}
</style>
<script type="text/javascript"
src="<c:url value='/resources/js/addTerminal.js'/>"></script>
<script>jQuery.noConflict();</script>
...

你能建议另一种方式吗?

最佳答案

当您调用 jQuery.noConflict(); 时,您不再将 jQuery$ 变量相关联。

所以像 $().click$(selector) 这样的东西会抛出错误。相反,您可以这样做:

jQuery.noConflict();
jQuery('a.try').click(handler);
jQuery(window).height();

或者,您也可以将 jQuery 分配给一个新变量,如下所示:

var j$ = jQuery.noConflict();
j$('a.try').click(handler);
j$(window).height();

http://jsfiddle.net/wL4mc03a/

编辑

至于调度事件,一种方法(使用 jQuery)是触发事件。假设您有一些代码如下所示:

jQuery(document).on('keydown', function(e){
if (e.which === 42) {
alert('That is the key to life!');
}
});

稍后,您可以触发此事件。我们将创建一个 jQuery 事件并传递它,而不是使用字符串('keydown')触发事件。

var evt = jQuery.Event('keydown');
evt.which = 42;

jQuery(document).trigger(evt);

关于javascript - 如何在不破坏其他东西的情况下修复 “element.dispatchEvent is not a function”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27080518/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com