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

先看一个例子:


代码如下:

<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() 无效。

(0)

相关推荐

  • js如何取消事件冒泡

    复制代码 代码如下: function stopBubble(e) { //如果传入了对象,那么就是非IE浏览器,才用W3C标准方法 if (e || e.stopPropagation) { e.stopPropagation(); } else { //才用IE的停止事件冒泡的方法 window.event.CancelBubble = true; } }

  • JavaScript中使用stopPropagation函数停止事件传播例子

    JS中的事件默认是冒泡方式,逐层往上传播,可以通过stopPropagation()函数停止事件在DOM层次中的传播.如以下例子: HTML代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>stopPropagation()使用 - 琼台博客</title> </head> <body> <button&

  • Javascript Event(事件)的传播与冒泡

    特性说明和原理图: 标准浏览器和Ie9+浏览器都支持事件的冒泡和捕获,而IE8-浏览器只支持冒泡 标准和Ie9+浏览器用stopPropagation()或cancelBubble阻止事件传播,而ie8-用e.cancelBubble属性来阻冒泡,注意ie9不支持cancelBubble属性(设置后不生效),但chrome.safari.opera.firefox都支持cancelBubble属性. Ie8-用attachEvent为dom元素添加一个事件,但必须在事件名前加上on,此类事件只能

  • JavaScript实现事件的中断传播和行为阻止方法示例

    事件传播 MicroSoft的设计是当事件在元素上触发时,该事件将接着在该节点的父节点触发,以此类推,事件一直沿着DOM树向上传播,直到到达顶层对象document元素.这种自底向上的事件传播方式称为"事件冒泡",也就是事件传播. 如何中断事件的传播? stopPropagation() w3c取消冒泡 cancleBubble = true IE取消冒泡 取消事件默认效果: returnValue = false IE 取消事件效果 defaultPrevent() w3c取消事件效

  • 关于捕获用户何时点击window.onbeforeunload的取消事件

    Detecting When The User Has Clicked Cancel One of the things you may want to do is to be notified when the user clicks cancel, aborting a page unload. Unfortunately there's no way to be immediately notified. The best you can do is to set a unique glo

  • jquery取消事件冒泡的三种方法(推荐)

    1.通过返回false来取消默认的行为并阻止事件起泡. jQuery 代码: $("form").bind( "submit", function() { return false; } ); 2.通过使用 preventDefault() 方法只取消默认的行为. jQuery 代码: $("form").bind( "submit", function(event){ event.preventDefault(); } );

  • 阻止事件(取消浏览器对事件的默认行为并阻止其传播)

    取消浏览器对事件的默认行为(响应)(比如<a>标签的跳转等)并停止事件的继续传播. 实现代码 复制代码 代码如下: function stopEvent (evt) { var evt = evt || window.event; if (evt.preventDefault) { evt.preventDefault(); evt.stopPropagation(); } else { evt.returnValue = false; evt.cancelBubble = true; } }

  • JS传播事件、取消事件默认行为、阻止事件传播详解

    1.事件处理程序的返回值  通常情况下,返回值false就是告诉浏览器不要执行这个事件相关的默认操作.例如,表单提交按钮的onclick事件处理程序能通过返回false阻止浏览器提交表单,再如a标签的onclick事件处理程序通过返回false阻止跳转href页面.类似地,如果用户输入不合适的字符,输入域上的onkeypress事件处理程序能通过返回false来过滤键盘输入.        事件处理程序的返回值只对通过属性注册的处理程序才有意义. 2.调用顺序 文档元素或其他对象可以为指定事件类

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

    先看一个例子: 复制代码 代码如下: <mx:DataGrid id= "songList" dataProvider= "{songDB}" width= "100%" height= "100%" editable= "true" itemEditEnd="itemEditEndHandler(event)" itemEditBeginning= "itemEditB

  • 使用flex中的httpservice方法与java进行交互

    地球已经调至震动状态使用flex中的httpservice方法与java进行交互: 一.写服务器: 1.在myeclipse中建立web项目 2.写一个用来打印xml的servlet 3.当使用httpservice与java进行交互的时候不用改写remoting-config.xml文件 4.web.xml文件中配置servlet的访问地址(一般不用配置,当一个servlet建好之后myeclipse就会自动配置好web.xml文 件,不用去改动,但是需要注意的是,当你在导入blazeds开发

  • Python中自定义函方法与参数具有默认值的函数

    目录 一.Python中自定义函数的方法 1自定义函数的语法 2自定义函数的实现 3自定义函数的调用 二.Python中参数具有默认值的函数 1参数是常量默认值的函数 2参数是常量默认值的函数 一.Python中自定义函数的方法 在Python编程中,可以使用已经定义好的函数,也可以自定义函数实现某些特殊的功能. 1 自定义函数的语法 在Python中,自定义函数的语法如下所示: def 函数名(参数):     函数体 其中,def是关键字:之后跟的是函数名,通过函数名来调用该函数:函数名之后

  • jquery事件preventDefault()方法用法实例

    本文实例讲述了jquery事件preventDefault()方法用法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>jquery事件:preventDefault()方法的使用</title> <script type="text/javascript" src="jquery-1.8.2.min.js"></script> <

  • 网页右键ie不支持event.preventDefault和event.returnValue (需要加window)

    event.preventDefault()方法是用于取消事件的默认行为,但此方法并不被ie支持,在ie下需要用window.event.returnValue = false; 来实现. 复制代码 代码如下: function stopDefault( e ) { if ( e && e.preventDefault ){ e.preventDefault(); } else { window.event.returnValue = false; } }

  • iOS开发中使用cocos2d添加触摸事件的方法

    CCLayer类是用来接收触摸输入的.不过你要首先启用这个功能才可以使用它.你通过设置isTouchEnabled为YES来让层接收触摸事件: 复制代码 代码如下: self.isTouchEnabled = YES; 此项设定最好在init方法中设置.你可以在任何时间将其设置为NO或者YES. 一旦启用isTouchEnabled属性,许多与接收触摸输入相关的方法将会开始被调用.这些事件包括:当新的触摸开始的时候,当手指在触摸屏上移动的时候,还有在用户手指离开屏幕以后.很少会发生触摸事件被取消

  • jquery中event对象属性与方法小结

    JQuery读书笔记–Event属性说明 JQuery事件中的Event属性是经常性的被忽略的.大多数时间你的确不怎么用它,但有些时候它还是它还是有作用的.如获知触发时用户的环境(是否按了shift etc).每个浏览器对event都有不同的地方,Jquery对Event做了标准化所以可以放心用. * .target  这个反应触发事件的DOM对象,可以在事件冒泡的时候判断是否是事件源头(compare event.target to this) * .pageX:  鼠标的left属性,相对于

  • angularjs中回车键触发某一事件的方法

    要求:在输入框中输入值以后,按回车键触发某一事件的执行 html: <input id="input" name="input" ng-model="querykdUser.page.pageSize" ng-keyup="myKeyup($event)" class="form-control" style="width:60px;"> js: $scope.myKeyup

随机推荐