Javascript 如何修复&x201C;element.dispatchEvent不是函数”;不破坏其他东西?
我有和谷歌chrome一样的问题 我已经编写了Javascript 如何修复&x201C;element.dispatchEvent不是函数”;不破坏其他东西?,javascript,jquery,events,dispatchevent,Javascript,Jquery,Events,Dispatchevent,我有和谷歌chrome一样的问题 我已经编写了jQuery.noConflict() 毕竟是脚本。但现在我有另一个问题: ... $("a.try").click(function () { ... 未定义不是一个函数 及 未定义不是一个函数 因此,第一个修正是无效的 附言 包含脚本的html部分: .... <script type="text/javascript" src="http://html5shim.googlecode.com/svn/trun
jQuery.noConflict()代码>
毕竟是脚本。但现在我有另一个问题:
...
$("a.try").click(function () {
...
未定义不是一个函数
及
未定义不是一个函数
因此,第一个修正是无效的
附言
包含脚本的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>
...
。。。。
...
.灰色航站楼{
背景色:rgb(226226226226);
}
jQuery.noConflict();
...
你能建议另一种方法吗?当你调用jQuery.noConflict()时
您不再将jQuery
与$
变量关联
所以像$()。单击或$(选择器)
将抛出错误。相反,您可以这样做:
jQuery.noConflict();
jQuery('a.try').click(handler);
jQuery(window).height();
var j$ = jQuery.noConflict();
j$('a.try').click(handler);
j$(window).height();
jQuery(document).on('keydown', function(e){
if (e.which === 42) {
alert('That is the key to life!');
}
});
或者,也可以将jQuery分配给新变量,如下所示:
jQuery.noConflict();
jQuery('a.try').click(handler);
jQuery(window).height();
var j$ = jQuery.noConflict();
j$('a.try').click(handler);
j$(window).height();
jQuery(document).on('keydown', function(e){
if (e.which === 42) {
alert('That is the key to life!');
}
});
编辑
至于调度事件,一种方法是(使用jQuery)触发事件。假设您有如下代码:
jQuery.noConflict();
jQuery('a.try').click(handler);
jQuery(window).height();
var j$ = jQuery.noConflict();
j$('a.try').click(handler);
j$(window).height();
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);
这对我有帮助!
添加jQuery.noConflict();在启动jquery代码并将所有“$”替换为“jquery”之前
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {
....
....
});
</script>
jQuery.noConflict();
jQuery(文档).ready(函数(){
....
....
});
与上述解决方案中所述相同,@JackjQuery未加载。。。。而noConflict应该在使用脚本之前而不是脚本之后…@Bhojendra-C-Link尼泊尔请阅读我的更新。您能建议如何重写此代码吗?是否可以重写var'event=newkeyboardevent('keydown')$(“#pac输入”).dispatchEvent(事件);'没有jquery?是的,你可以。但是,您需要像调用$(“#pac input”).get(0).dispatchEvent(event)
一样调用它get
将返回DOM节点(而不是jQuery包装的对象)。但是,如果您想使用jQuery方式(我推荐),您可以只触发事件,如$('#pac input').trigger('keydown')
(如果需要指定键,可以将第二个参数作为对象传递,如$('#input').trigger('keydown',{which:42})
-第二个对象模拟event object.var event=new keyboard event($(“#pac input”).get(0).dispatchEvent(event);当我调用它时,我看到它执行在我键入文本时调用的事件。我需要调用enter event($('#pac input')。触发器($('keydown',{which 42})不工作H,对于enter,您需要传递正确的keycode
(我相信它不是42)。您的代码如何检查是否为enter键?您是否使用e.which
?我会很快为您准备一把小提琴。。。