railsにてjQueryのプルダウンを設置しようと以下のjsファイルを設置しました。
$(function(){ $('li').on('click',function(e){ $(this).children('ul').slideToggle(); e.stopPropagation(); }); });
この記述ですとli要素をクリックした時に発火すると思います。
liのリストはプルダウンの記述以外にもあり、意図しないところで誤作動が起きてしまいました。
li要素の中にはlink_toメソッドでaタグを生成している場所があり、
= link_to ~~_path(~~), method: :post
という形でpostにリンクを貼っていたのですが、前述したjQueryの記述が発火し
linkには飛ぶものの method: :postが無効化されてしまったようで、GETでしか飛べなくなってしまいました。
stopPropagationが悪さをしていると思うのですがどういう処理をしているのでしょうか?
調べてみても親要素への伝播を止める、という記述が多く、今回ですと親要素ではなくクリックしたその要素そのものの動きが止まっているようにしか見えないので質問させてもらいました。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/10 06:47
2017/01/10 07:44