
[英]The link after e.preventDefault() doesn't load, without jQuery
[英]Rails link_to ignoring e.preventDefault(); from a jQuery call because method: :get is set
实验上我已经了解到以下代码:
<td><%= link_to 'Notify', '/w/'+w.id+'/notify', method: :get, :class => "btn btn-success notify-btn" %></td>
无论这个jQuery如何都会触发:
$('.notify-btn').click(function(e){
e.preventDefault();
bootbox.confirm("Alert?", function(result){
if(result === true){
return true;
} else {
return false;
}
});
});
这是由于方法:: get。 我逐个删除了链接的元素并尝试了各种组合。 如果方法:: get就在那里,它就会触发。
我可以阻止它e.stopPropagation,但那么它不会跟随链接的 。 即使我单击“确定”,它也只是在页面上无所事事。
如果我摆脱erb并使用直接HTML,如下所示:
<a href="/w/53531e8a963e6503c60002b2/notify" class="btn btn-success notify-btn" data-method="get">Notify</a>
而data-method =“get”就在那里,结果相同。 如果我删除数据方法,它将弹出警报并阻止跟踪链接,但即使我确认,它也不会实际触发链接。
关于我做错了什么的任何想法?
$('.notify-btn').click(function(e){
e.preventDefault();
e.stopPropagation();
var link = $(this).attr('href')
bootbox.confirm("Alert?", function(result){
if(result){
window.location = link;
return true;
} else {
return false;
}
});
});
我不得不使用一些技巧 - 但上面的工作。
奇怪的是,它最终需要preventDefault和stopPropagation。 我尝试了所有可能的组合。
当尝试控制是否应该执行link_to请求时,我也遇到了同样的问题,并且基于某些条件并且最终执行了以下操作
例如,假设类.link-to和.link-to-with-method
$('.link-to').click(function(){ if(condition){ $('.link-to-get-method').trigger('click'); return true; }else{ return false; } });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.