您的位置:首页 > 其它

发现一个FireFox的问题

2008-08-04 17:35 302 查看
最近做网页的时候要求一个输入框只能输入数字,发现在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里面阻止拖拽操作呢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: