我正在当前项目上实现 Twitter Bootstrap,并且在$(document)
. 他们基本上被忽略了。如果我将它们绑定到$("body")
,它们可以正常工作——在一定程度上。
这是HTML:
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Menu</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a href="/edit_status/1174" data-toggle="modal"><i class="icon-pencil"></i> Change Status</a></li>
这是JS:
$(function() {
$("body").on("click", "a[data-toggle=modal]", on_click_data_toggle);
function on_click_data_toggle(e){
e.preventDefault();
var url = $(e.currentTarget).attr('href');
if (url.indexOf('#') == 0) {
$(url).modal('open');
} else {
$.ajax({
url: url,
success: function(data){
if(data.length > 0)
{
$('<div class="modal hide fade">' + data + '</div>').modal();
}
},
error: function(){
}
});
}
}
当事件通过“body”绑定时,除了控制台不断显示以下错误外,它可以工作:
未捕获的错误:语法错误,无法识别的表达式:/edit_status/1348
代码执行得很好,但它让我觉得还有其他问题会导致该$(document).on
方法也不起作用。
我读过 Javascript 错误通常意味着存在选择器问题,但代码确实执行了,所以我完全糊涂了。
任何帮助或指导将不胜感激。