document.ready
外部スクリプト ファイルとファイル内の両方で同じリスナーを定義します。class で要素をクリックすると常に削除を実行したいので、中央の外部ファイルに1つ持っていますが.delete
、他のこともしたい場合があります。
//script.js
$(document).ready(function(){
$('.delete').click(function(){
//send AJAX delete
});
});
//index.php
<script type="text/javascript">
$(document).ready(function(){
$('.delete').click(function(){
var msg = "Are you sure you want to delete the <?=$item?>'"+$(this).attr("name")+"'?";
if ( confirm(msg) ) {
removeDataTableRow( $(this)... );
}//fi
});
});
</script>
外部jsファイルのリスナーは、ファイル内スクリプトのリスナーの前に起動しますが、反対のことが必要です(そして、外部ファイルの2番目のイベントをキャンセルしたい場合confirm=false
)。
ファイル内スクリプトに変数を設定し、その変数を外部に設定して確認の結果を知ることを考えましたが、外部スクリプトのスクリプトが最初に起動するため、変数はまだ適切に定義されていません: /
編集:異なるリスナーのイベントの優先順位をカバーする質問 282245を読みましたが、同じリスナーの発生については説明しません。