イベントの伝達を停止する

書式

YUIobj.on(eventName, function(e){ 〜 })

YUIobj : YUIオブジェクト
eventName : イベント名

説明

イベントの伝達を停止するにはイベント発生時に呼び出される関数のパラメータに渡されるイベントオブジェクトのstopPropagation()メソッドを呼び出します。stopPropagation()にはパラメータは必要ありません。以下のサンプルコードではボックスがクリックされるとアラートダイアログが表示されます。stopPropagation()の行を削除して実行してもらうと分かりますが、ボックスをクリックしたらアラートダイアログが表示された後、ドキュメントにもイベントが伝達されたことを示すアラートダイアログが表示されます。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="css/yui.css" type="text/css" media="all">
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script type="text/javascript" src="../../../lib/yui/yui.js"></script>
<script type="text/javascript"><!--
YUI().use('event', function(Y){
Y.on('click', function(e){
alert('ボックスがクリックされました');
e.stopPropagation();
}, '.box');
Y.on('click', function(e){
alert('ドキュメントがクリックされました');
}, '.yui-skin-sam');
});
// --></script>
</head>
<body class="yui-skin-sam">
<h1>イベントサンプル</h1>
<div class="box">このボックスをクリックしてください</div>
</body>
</html>