Javascript jQuery和引导程序3:TypeError:";对象[Object HtmlanchoreElement]没有方法';防止违约';

Javascript jQuery和引导程序3:TypeError:";对象[Object HtmlanchoreElement]没有方法';防止违约';,javascript,jquery,twitter-bootstrap,modal-dialog,Javascript,Jquery,Twitter Bootstrap,Modal Dialog,我正在用Chrome开发一个包含两个Bootstrap3模式的页面。在您保持开发人员控制台打开并启动其中一个modals之前,一切看起来都很好。您可以使用这个JSFIDLE重复这个问题,也可以使用最新的Chrome,或者使用下面的代码创建一个html页面 函数launchReportModal(){ $('#reportModal').modal(); } 函数launchShareModal(){ $('#shareModal').modal(); } 报告与时报; 分享与时代; 编辑:

我正在用Chrome开发一个包含两个Bootstrap3模式的页面。在您保持开发人员控制台打开并启动其中一个modals之前,一切看起来都很好。您可以使用这个JSFIDLE重复这个问题,也可以使用最新的Chrome,或者使用下面的代码创建一个html页面


函数launchReportModal(){
$('#reportModal').modal();
}
函数launchShareModal(){
$('#shareModal').modal();
}
报告与时报;
分享与时代;
编辑:使用jQuery选择器在html中启动模式可以解决这个问题,但不管怎样,您仍然可以在JSFIDLE中看到这个问题

$('#launchReportModal').on('click', function(){
    $('#reportModal').modal();
});
$('#launchShareModal').on('click', function(){
    $('#shareModal').modal();
});

您正在尝试自动激活模态,同时手动激活它们!如果您阅读以下内容:

在不编写JavaScript的情况下激活模态。设置数据切换=“模态” 在控制器元素上,如按钮,以及 data target=“#foo”或href=“#foo”以特定模式为目标 切换

你两者都有


$('launchReportModal')。在('click',function()上{
$('#reportModal').modal();
});
错误的触发方式如下:

$.fn.modal(\u relatedTarget)
Modal.toggle(_relatedTarget)
Modal.hide(_relatedTarget)
\u relatedTarget
被视为代码中的事件:

Modal.prototype.hide=函数(e){
如果(e)e.防止违约()
->未捕获类型错误:对象http://fiddle.jshell.net/22ENG/2/show/# 没有“preventDefault”方法
但是_relatedTarget不是一个事件,它是一个元素。显然,
数据目标
的排名高于
$(元素)。modal()
代码


解决方案:只需使用3.1.1 bootstrap.js的未统一版本跳过modals->-fork JSFIDLE的javascript激活(这样我就可以追踪问题)

我已经更新了JSFIDLE演示:


并将引导程序从3.1.1升级到3.2.0。
错误消失了,并且按照编码进行了两次切换。

太棒了!谢谢。文档中不清楚您不应该同时使用这两个选项。我应该注意到使用jQuery选择器的区别是一个线索。使用unnified bootstrap.js也有很好的调试技巧。
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>