今天在学习HTML5的拖放过程中遇到了一个关于JavaScript的问题。
preventDefault() 方法
这个方法是为了阻止浏览器对数据或事件的默认处理。
学习拖放的时候用鼠标拖动数据时调用到了这个方法,要把drop事件的默认行为禁掉(默认是以链接形式打开)
在学习代码的时候,我发现拖动图片还是会以链接的形势打开,这说明了
preventDefault()这个方法并没有起到作用,而事件cancelable的属性是true,于是我又查了一下这个方法:
关于这个方法的解释W3School是这样说的:
preventDefault() 方法
Event 对象
定义和用法
取消事件的默认动作。
语法
event.preventDefault()
说明
该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。[color=red]无论哪种情况,调用该方法都没有作用。[/color]
看到最后一句的时候差点晕菜了,以为这个方法没什么意义,但后来又读了一下应该是说如果cancelable=false,才会"无论哪种情况,调用该方法都没有作用"。但是心里对这个方法是否在浏览器中真的起作用有些疑问,我用的是Firefox 36.0.4 版本浏览器,哪位大神能给我指点一下??非常感谢 :D
preventDefault() 方法
这个方法是为了阻止浏览器对数据或事件的默认处理。
学习拖放的时候用鼠标拖动数据时调用到了这个方法,要把drop事件的默认行为禁掉(默认是以链接形式打开)
在学习代码的时候,我发现拖动图片还是会以链接的形势打开,这说明了
preventDefault()这个方法并没有起到作用,而事件cancelable的属性是true,于是我又查了一下这个方法:
关于这个方法的解释W3School是这样说的:
preventDefault() 方法
Event 对象
定义和用法
取消事件的默认动作。
语法
event.preventDefault()
说明
该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。[color=red]无论哪种情况,调用该方法都没有作用。[/color]
看到最后一句的时候差点晕菜了,以为这个方法没什么意义,但后来又读了一下应该是说如果cancelable=false,才会"无论哪种情况,调用该方法都没有作用"。但是心里对这个方法是否在浏览器中真的起作用有些疑问,我用的是Firefox 36.0.4 版本浏览器,哪位大神能给我指点一下??非常感谢 :D