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