e.preventDefault()在模态加载时被跳过
e.preventDefault() being skipped for modal load
我发现这段代码使用ajax加载模态,这正是我需要从我的数据表加载动态模态。我有一个标签设置来加载模态这里有一个例子
<a class="blue" href="/api/getmodal/products/' + str(self.result.ids) + '" data-toggle="modal">
<i class="icon-zoom-in bigger-130"></i>
</a>
链接到模态代码,只是模态代码的最后一部分是它添加的产品id,所以它创建了一个唯一的请求api,然后将服务于这个页面。我一直在玩这个链接jQuery ajax引导模态加载现在的问题是,而不是e.preventDefault
运行它似乎忽略了它,跳转到链接,任何人都可以看到我可能在这里做错了什么。寻找错误,似乎没有任何错误在慢跑,它没有进入点击功能从我发现,但会继续尝试修复,而我等待响应。
jQuery正确加载以上这段代码,我使用jinja2和所有重要的js都包含在我的基本模板,然后包含在我的孩子使用{{ super() }}
,然后所有其他的脚本是在这个下运行,有一个其他的JavaScript,在此之前运行,完美地工作,这只是为了数据表,我将包括我的整个js部分下面。console.log部分只是为了我的调试,看看它是否达到了代码。
jQuery(function($) {
var oTable1 = $('#sample-table-2').dataTable( {
"sAjaxSource": '/api/products/datatables',
"aoColumns": [
null, null,null, null, null,
{ "bSortable": false }
] } );
$('table th input:checkbox').on('click' , function(){
var that = this;
$(this).closest('table').find('tr > td:first-child input:checkbox')
.each(function(){
this.checked = that.checked;
$(this).closest('tr').toggleClass('selected');
});
});
})
$(document).ready(function() {
// Support for AJAX loaded modal window.
$('[data-toggle="modal"]').click(function(e) {
sleep(10000)
e.preventDefault();
console.log('point two');
var url = $(this).attr('href');
if (url.indexOf('#') == 0) {
$(url).modal('open');
console.log('point two');
sleep(1000);
} else {
$.get(url, function(data) {
$('<div class="modal hide fade">' + data + '</div>').modal();
console.log('point three');
});
}
});
});
编辑:链接到模态只是一个webapp2的路由,我知道这个路由工作正确,因为它加载了模态的内容,但没有样式,因为它应该被添加到主页,不需要它。
编辑:从阅读引导文档,这是我所提出的不再加载到页面,但模态不工作,我认为我有它的权利,但不确定。
<a class="blue" data-toggle="modal" href="/api/getmodal/products/' + str(self.result.ids) + '" data-target="#modalProduct" >
<i class="icon-zoom-in bigger-130"></i>
</a>
data-toggle="modal"属性是bootstrap API的一部分。这里还有其他一些东西将事件侦听器附加到这些元素上,您所看到的实际上是两个正在发生的事件。一个是你在点击处理程序中捕获的,另一个是由bootstrap API注册的。
而不是使用数据属性api来初始化你的模态捕获点击,就像你已经做的那样,并初始化模态。初始化代码看起来像这样:
$('#myModal').modal({
remote:url
});
另外,如果你想延迟显示模式,直到稍后的某个点(init之后),你可以这样做:
$('#myModal').modal({
remote:url,
show:false
});
查看bootstrap文档以获取更多信息,我发现它非常准确。
http://getbootstrap.com/javascript/情态动词
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- angularJS,一个部分或模态通知,加载几秒钟后就会消失
- 在表单提交后显示模态,直到加载下一页为止..不适用于狩猎
- 如果通过ajax加载,如何在bootstrap中打开模态
- 需要在bootstrap css中单击时将图像加载为模态
- 打开一个模态(在Codeigniter中),该模态从依赖于phpvar的URL加载(在iframe中)内容
- 模态对话框加载 jquery 在控制台中执行,但不从应用程序加载.js
- 创建一个模态窗口以使用 AngularJS 加载数据
- jQuery - 动态加载 ASP.NET 部分视图到模态中
- 如何将主题标签链接集成到网页中并基于该哈希标签加载模态
- ExtJS 4.2.1 用于加载指示和模态窗口的不同 CSS 掩码
- 从单击传递数据以加载模态
- 如何在加载网站主页时加载模态对话框
- 点击链接后加载模态
- 点击模态内部按钮后刷新或重新加载模态
- 通过注入HTML和JQuery加载模态对话框
- 点击时重新加载模态内容
- Rails,Bootstrap,尝试动态加载模态并没有按预期工作
- jQuery 日期选取器不会在每次加载模态时初始化
- 使用Twitter Bootstrap从JSON加载模态内容