chrome的几个坑

1

array.sort

当array2个值相等的时候,一般不管返回1还是-1,都是可以的。但是chrome部分版本不行,如果a,b比较返回1,b,a比较也返回1,那么结果会变成随机,整个排序就乱掉了。

暂时的解决方法是,sort前给每个值(非基本类型)加一个属性,放入当前index。当a,b相等时候,比较index,可以保证不会出现相等值。

2

mousemove,mouseup

当同时使用了mousemove和mouseup的时候,鼠标移动中抬起,会发现mouseup不触发,只触发了mousemove。

解决方法,把mouseup事件绑定到doucment上去,不要绑定在任何元素上面

3

copy事件

chrome部分版本无法用js进行拷贝,百度后,发现需要手动修改copy事件,将需要复制的文字放入clipboardData中去

另外,不知道是我写错了还是什么,原生js无法修改copy事件,所以是用jquery写的

var copyAll;

$(document.body).bind({

    copy: function(e) {//copy事件

        var clipboardData = window.clipboardData; //for IE

        if (!clipboardData) { // for chrome

            clipboardData = e.originalEvent.clipboardData;

        }

        clipboardData.setData('Text', copyAll);

        return false;

    }

});

调用copy的地方给copyAll赋值并执行document.execCommand("Copy");

另外,必须有鼠标点击动作才能触发这个命令,没有互动时候想要复制也是不行的。

发布了15 篇原创文章 · 获赞 3 · 访问量 6539

猜你喜欢

转载自blog.csdn.net/yushiershi/article/details/81098216
今日推荐