jQuery ujs里面的jquery模式不工作

我主要是我在jQuery对话框模式框中的不同控制器的所有表单,我遇到的问题是,当这些模块加载时,ujs链接(数据 - 远程,数据确认等)被jquery完全忽略。我在想,当这些partials通过ajax加载的时候,事件并没有冒泡以包含通过ajax添加到dom的新链接。有没有人遇到过这个?我似乎无法找出解决办法。我可以发布一些代码,如果这不是很清楚...jQuery ujs里面的jquery模式不工作

回答:

好了,所以我用这个固定,使用自定义的jQuery UI的对话框,我现在可以做定制证实ontop的远程真正的林克斯的

var myCustomConfirmBox; 

$.rails.allowAction = function(element) {

var answer, callback, message;

message = element.data("confirm");

answer = false;

callback = void 0;

if (!message) {

return true;

}

if ($.rails.fire(element, "confirm")) {

myCustomConfirmBox(message, element);

}

return false;

};

myCustomConfirmBox = function(message, callback) {

$("#dialog-confirm .content").html(message);

return $("#dialog-confirm").dialog({

resizable: false,

height: 180,

modal: true,

buttons: {

Continue: function() {

$.rails.handleRemote(callback);

return $(this).dialog("close");

},

Cancel: function() {

return $(this).dialog("close");

}

}

});

};

回答:

尝试将您的ujs的init移动到对话框上的打开回调。

回答:

如果正在动态添加标记,则只有在使用事件委托的情况下才能使用事件。

关于jQuery中事件委托的基础知识,这里有一个很好的写法 - http://jqueryfordesigners.com/simple-use-of-event-delegation/。基本上,您需要将通过bind创建的处理程序切换为使用on

回答:

我尝试的方法,通过Magicmarkker, 只需添加的版本化js在模态视图页面中导入代码,并且它可以工作,欢呼!

<script type="text/javascript" src="/assets/jquery_ujs.js?body=1"></script> 

以上是 jQuery ujs里面的jquery模式不工作 的全部内容, 来源链接: utcz.com/qa/264248.html

回到顶部