javaScript小记
(1),更快渲染页面
<body>
xxx代码
<script src="xxx.js"></script>
</body>
(2),click与mousedown之间的鼠标左键事件
1,click鼠标点击,只有左键才会有效果,右键,中键不会进方法;
2,mousedown鼠标点击,只要按下都会进方法,e.button区分左,右,中键 (注:ie8以下版本与其它浏览器的e.button数字不一样)
(3),split()与indexOf()结合起来使用
例:
var a = "11,12";
var aa = a.split(",");
if(aa.indexOf("1") != -1){
console.log("相等");
}
注:
1,split()将a拆分成数组,在indexOf()时则与下标从0开始的数组进行比较;
2,aa的值为0—11,1—12,indexOf()时则是和0比完后和1比;
3,如果是a.indexOf(“1”),输出结果将会是相等,因为a字符串中有为1的字符;
(4),在ie下,父元素disabled,子元素滚动条只显示框,呈禁用状态,不可拖动
<div class="d1">
<div class="d2">111111111111111111111111111111111111111</div>
</div>
$(".di").prop("disabled", true);
//有元素比较明显,如果只设置不可用,可不设置
$(".d1").attr("disabled", "disabled");
显示效果为:
不设置父元素为disabled显示效果为:
(5),scrollIntoView()和focus()比较
//都需在display='block'中才会有效,如果还没显示,无效果
dom.scrollIntoView();//在滚动条是靠顶部时,选项在中间。滚动条会滚动,界面看起来,选项在顶部(其实并不需要滚动就可看到选中项)。
xx.focus();//需和tabindex='0'配合使用,没有scrollIntoView()在顶部出现滚动的效果
(6), keypress(e) 得到的键值和keydown(e) 不一样
keypress(e)得到的是ASCII码;
keydown(e)得到的键盘对应的键值,如果要判断得到该方法实现;
<script>
function noNumbers(e){
var keynum;
var keychar;
keynum = window.event ? e.keyCode : e.which;
keychar = String.fromCharCode(keynum);
console.log("onkeydown:"+keynum+':'+keychar);
}
function noNumbers2(e){
var keynum;
var keychar;
keynum = window.event ? e.keyCode : e.which;
keychar = String.fromCharCode(keynum);
console.log("onkeypress:"+keynum+':'+keychar);
}
</script>
<body>
<input type="text" onkeydown="noNumbers(event)" onkeypress="noNumbers2(event)"/>
</body>