JQuery函数阻止Rails远程调用

时间:2012-07-20 13:56:57

标签: javascript jquery ruby-on-rails jqmodal

我的页面上有一个链接,它对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覆盖了什么?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您使用的jqModal plugin取消绑定链接上定义的所有点击处理程序,也可以解除锁定链接的点击处理程序。

因此,要么将插件切换到another onejqueryui 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