not*_*ceo 4 javascript jquery ruby-on-rails ruby-on-rails-3
实验上我已经了解到以下代码:
<td><%= link_to 'Notify', '/w/'+w.id+'/notify', method: :get, :class => "btn btn-success notify-btn" %></td>
Run Code Online (Sandbox Code Playgroud)
无论这个jQuery如何都会触发:
$('.notify-btn').click(function(e){
e.preventDefault();
bootbox.confirm("Alert?", function(result){
if(result === true){
return true;
} else {
return false;
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是由于方法:: get.我逐个删除了链接的元素并尝试了各种组合.如果方法:: get就在那里,它就会触发.
我可以阻止它e.stopPropagation,但那么它不会跟随链接在所有.即使我单击"确定",它也只是在页面上无所事事.
如果我摆脱erb并使用直接HTML,如下所示:
<a href="/w/53531e8a963e6503c60002b2/notify" class="btn btn-success notify-btn" data-method="get">Notify</a>
Run Code Online (Sandbox Code Playgroud)
而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;
}
});
});
Run Code Online (Sandbox Code Playgroud)
我不得不使用一些技巧 - 但上面的工作.
奇怪的是,它最终需要preventDefault和stopPropagation.我尝试了所有可能的组合.
| 归档时间: |
|
| 查看次数: |
4182 次 |
| 最近记录: |