0

我的页面上有一个链接,它可以进行 AJAX 远程调用,它周围passcheck_pathp标签提供了激活覆盖整个页面的 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 覆盖了某些东西?

您的帮助将不胜感激。

4

1 回答 1

0

您使用jqModal 插件取消绑定链接上定义的所有点击处理程序,也包括 rails 的那些。

因此,要么将插件切换到另一个插件,要么将jqueryui 模态对话框切换到jqModal,因为 jqModal 似乎已经过时了,或者你可以通过使用 jqModal 的 onShow 回调远程调用来实现一个工作区:

$('.blackoutwindow').jqm({
    modal: true,
    onShow: function() {
        $.get($(this).attr('href')); // DIY Implementation of the remote call
    },
    trigger: '.blackout',
    overlay: 100
});

看看这个小提琴看看问题和解决方案

于 2012-07-20T15:34:02.133 回答