flex中event.preventDefault() 取消事件的默认行为

先看一个例子:

  1. <mx:DataGrid id= "songList"  dataProvider= "{songDB}"  width= "100%"  height= "100%"  editable= "true"   
  2.   itemEditEnd="itemEditEndHandler(event)"  itemEditBeginning= "itemEditBeginningHandler(event)"   
  3.   >  

Java代码 
  1. <mx:DataGrid id="songList" dataProvider="{songDB}" width="100%" height="100%" editable="true"  
  2.   itemEditEnd="itemEditEndHandler(event)" itemEditBeginning="itemEditBeginningHandler(event)"  
  3.   >  

其中itemEditBeginningHandler就可以这样控制:

  1. private  function itemEditBeginningHandler(event:DataGridEvent): void   
  2. {  
  3.     if (event.columnIndex== 0  || event.columnIndex== 3 ){  
  4.          event.preventDefault();  
  5.     }  
  6.   
  7. }  

Java代码 
  1. private function itemEditBeginningHandler(event:DataGridEvent):void  
  2. {  
  3.     if(event.columnIndex==0 || event.columnIndex==3){  
  4.          event.preventDefault();  
  5.     }  
  6. }  

当点击datagrid的第一和第四项时,itemEdit事件将不起作用。

下面是event.preventDefault()说明

如果可以取消事件的默认行为,则取消该行为。

许多事件都有默认执行的关联行为。例如,如果用户在文本字段中键入一个字符,则默认行为就是在文本字段中显示该字符。由于可以取消 TextEvent.TEXT_INPUT 事件的默认行为,因此您可以使用 preventDefault() 方法来防止显示该字符。

不可取消行为的一个示例是与 Event.REMOVED 事件关联的默认行为,只要 Flash Player 从显示列表中删除显示对象,就会生成该事件。由于无法取消默认行为(删除元素),因此 preventDefault() 方法对此默认行为无效。

您可以使用 Event.cancelable 属性来检查是否可以防止与特定事件关联的默认行为。如果Event.cancelable 的值为 true ,则可以使用 preventDefault() 来取消事件;否则,preventDefault() 无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值