我的页面上有一个链接,它对passcheck_path
进行AJAX远程调用,并且它周围的p
标签提供了激活覆盖整个页面的JQuery模式框的功能。
<p class="right blackout">
<%= link_to "blank screen", passcheck_path, :remote => true %>
</p>
JS如下:
$().ready( function() {
$('.blackoutwindow').jqm({
modal: true,
trigger: '.blackout',
overlay: 100
});
});
当我点击链接时,会出现模态,但远程调用根本不会发生。但是,当我删除p
标签时,远程调用工作正常(但显然模式不会触发)。我真的不知道为什么它的表现如此,但我认为javascript覆盖了什么?
非常感谢您的帮助。
答案 0 :(得分:0)
您使用的jqModal plugin取消绑定链接上定义的所有点击处理程序,也可以解除锁定链接的点击处理程序。
因此,要么将插件切换到another one或jqueryui modal dialogs,因为jqModal似乎已经过时,或者您可以通过使用jqModal的onShow回调远程调用来实现workround:
$('.blackoutwindow').jqm({
modal: true,
onShow: function() {
$.get($(this).attr('href')); // DIY Implementation of the remote call
},
trigger: '.blackout',
overlay: 100
});
<强> Have a look at this fiddle to see the problem and the solution 强>