Titanium Mobileで親Viewにイベント伝搬させない
Titanium SDK:3.2.0
Alloy:1.3.0
親Viewと子Viewに同じClickイベントを設置した時、
デフォルトでは子ViewのClickイベント後、親Viewのclickイベントが発生します。
var parentView = Ti.UI.createView({ height : Ti.UI.FILL, width : Ti.UI.FILL }); parentView.addEventListener('click', function(e){ console.log("parent click!"); }); var childView = Ti.UI.createView({ height : Ti.UI.FILL, width : Ti.UI.FILL }); childView.addEventListener('click', function(e){ console.log("child click!"); }); parentView.add(childView);
click時
child click! parent click!
これを制御するには、bubbleParentプロパティを制御します。
var childView = Ti.UI.createView({ height : Ti.UI.FILL, width : Ti.UI.FILL, bubbleParent : false });
click時
child click!
これで親プロパティのイベントが発生させないようにできます。