我正在尝试使用JavaScript在点击其他元素时切换元素的可见性。
到目前为止,这是我的JavaScript:
$(document).on('click', '.ticket_title', function(event){
console.log("click!")
$("#ticket_sub_"+$(this).attr("data-id")).slideToggle();
});
但是它无法正常工作,因为click事件会被多次触发。
这是我到目前为止的HTML:
<div id="ticket_56" class="ticket_box">
<div class="ticket_title" data-id="56"></div>
</div>
<div id="ticket_sub_56" style="display:none;" class="ticket_sub">
</div>
答案 0 :(得分:1)
turbolinks在页面移动时被称为js。 所以js多次绑定一个文档。
所以我解决了这个问题,在绑定文档之前取消绑定文档。
$(document).off("click", ".ticket_title");
$(document).on('click', '.ticket_title', function(event){
$("#ticket_sub_"+$(this).attr("data-id")).slideToggle();
});
感谢您的帮助!
答案 1 :(得分:0)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
$(document).on('click', '.ticket_title', function(event){
console.log("click!");
doc="#ticket_sub_"+$(this).attr("data-id");
$(doc).slideToggle();
});
尝试将正常工作。