欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-19 12:47:57
先看一个例子: 复制代码 代码如下: 先看一个例子:
复制代码 代码如下:

<mx:datagrid id= "songlist" dataprovider= "{songdb}" width= "100%" height= "100%" editable= "true"
itemeditend="itemeditendhandler(event)" itemeditbeginning= "itemeditbeginninghandler(event)"
>

其中itemeditbeginninghandler就可以这样控制:
复制代码 代码如下:

private function itemeditbeginninghandler(event:datagridevent): void
{
if (event.columnindex== 0 || event.columnindex== 3 ){
event.preventdefault();
}
}

当点击datagrid的第一和第四项时,itemedit事件将不起作用。
下面是event.preventdefault()说明
如果可以取消事件的默认行为,则取消该行为。
许多事件都有默认执行的关联行为。例如,如果用户在文本字段中键入一个字符,则默认行为就是在文本字段中显示该字符。由于可以取消 textevent.text_input 事件的默认行为,因此您可以使用 preventdefault() 方法来防止显示该字符。
不可取消行为的一个示例是与 event.removed 事件关联的默认行为,只要 flash player 从显示列表中删除显示对象,就会生成该事件。由于无法取消默认行为(删除元素),因此 preventdefault() 方法对此默认行为无效。

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