发现一个FireFox的问题

本文探讨了Firefox浏览器中对拖拽事件及剪贴板操作的限制,特别是在输入框仅允许输入数字的情况下如何处理。文中提供了一个具体的示例代码,并讨论了不同浏览器间的实现差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近做网页的时候要求一个输入框只能输入数字,发现在ff的input上挂的dragenter和dragover事件不工作,一开始以为是自己的代码写的不对,DEBUG了半天,发现这段代码在IE下是好好的,可是在FF下就是不工作.GOOGLE了一下发现网上遇到这个问题的不止我一个,http://forums.mozillazine.org/viewtopic.php?p=1252112,看了一下文章发表的时间是2005年,那个时候应该是FF2.0左右吧,现在都3.0了还是会有这个问题,貌似FF开发团队不认为这是个BUG,本来就不打算支持

 

 

 1  < form >
 2  < input id = " aaa "  type = " text "  value = " 12345 "   / > 111111111111111< / form >
 3 
 4  < script language = " JavaScript1.2 "  type = " text/javascript " >
 5  function  resetField(id)
 6  {
 7     field  =  document.getElementById(id);
 8     field.value  =   "" ;
 9      //  if you comment out the above line then ff will not crash.
10     x  =   1 ;
11  }
12 
13  field  =  document.getElementById( " aaa " );
14  if  ( typeof  field.addEventListener  ==   " function " )
15     {
16     field.addEventListener( " dragover " , function (){resetField( ' aaa ' );}, true );   
17     alert( " added DOM event " );
18     }
19 
20  if  ( typeof  field.ondragenter  !=   " undefined " )   
21     {
22     field.ondragenter  =   function (){resetField( ' aaa ' )};
23     alert( " added IE event " );
24     }
25 
26  -->
27  < / script>

 

类似的还有剪贴板操作,这个到是因为安全的原因,一开始就没有打算支持,但是也提供了paste事件,供我们在FF的js里完全阻止粘贴操作,但是拖拽文本的话,没有这两个事件的支持的话,怎么做到在FF里面阻止拖拽操作呢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值