RailsのjQueryとstopPropagationを混ぜるとGETに飛ばされる

モーダルの外側をクリックしたときに閉じて、モーダルの内側はクリックしても閉じたりしないようにするとき、stopPropagationをつかって

$('例外範囲').on('click' , event => {
		event.stopPropagation();
});

こういう感じで例外を指定する(伝播させない)と思います。

しかしRailsだと、モーダルの内側にlink_toの削除ボタンとかがあるとDELETEメソッドじゃなくGETメソッドのまま飛んじゃってdestroyアクションが動きません。こまったこまった(´・ω・` )

ということで対処

$("クリックさせたい範囲").on("click", function(event){
		if (!$(event.target).closest('例外範囲').length){
				消すとか閉じるとかの処理
		}
});

結論

stopPropagationを使わない!!!!!以上!!閉廷!!!!


参考にした記事

公開日