我有一个带有resrouce项目的rails应用程序。我注意到,如果我添加一些处理程序,它们会在页面更改时被删除。在Rails应用程序中处理程序的奇怪行为
<%=link_to "Add fund","#",:class=>"addfund btn btn-primary"%>
<form class="addfundform hide"action="<%=addFund_item_path :id=>item.id %>">
<input type="text" name="fund">
<input type="submit" value="Add" class="btn">
<a href="#" class="cancelfund btn btn-warning" >Cancel</a>
</form>
addfundform默认是隐藏的,当你点击addfund时,会显示addfundform表单。
$(document).ready(function(){
function showfundform(){
console.log("Hello")
var $item=$(this);
$item.next("form").show();
return false;
}
$(".addfund").click(showfundform)
})
所以当我点击addfund按钮时,窗体显示。然而,当我点击取消按钮时它消失。 (这很有趣,因为我还没有添加任何东西)在此之后,addfund按钮不会执行任何操作。就好像处理程序已被删除。 另外,如果我不去物品页面。我去新的项目页面,然后到项目页面,处理程序没有加载etiher
这很奇怪,因为我没有通过ajax获取任何东西。这是一个rails4应用程序。我看到一个关于turbolinks的错误,虽然我不知道更多
您是否可以使用类选择器将侦听器添加到某个其他页面,并且该代码被加载$('。cancelfund')。click(function(){$(self).hide();} :) –