JS 事件绑定
事件是用户或浏览器自身进行的特定行为.这些事件都有自己的名字,如click(点击),load(载入),mouseover(鼠标经过).用于响应某个事件而调用的函数称为"事件处理函数"或者"事件监听函数".事件处理函数有两种分配方式:
1)在HTML页面中:<div onclick="doSome()" />//点击后执行JS代码中已经定义好的函数:doSome;
2)在JS中:
var oDiv = document.getElementByIdx("testDiv");
oDiv.onclick = function()
{
alert("我被点!");
}
注意:用这个分配方法时,事件处理函数名称必须小写:onclick,onmouseover
用其它方法绑定事件:
//兼容的方法
var EventUtil = new Object;
EventUtil.addEventHandler = function(oTarget, sEventType, fnhandler)
{
if(oTarget.addEventListener)
{
oTarget.addEventListener(sEventType, fnhandler, false);
}//这里用了对象检测方法判断浏览器,最后的参数false表示事件在捕获阶段,若为true则表示在冒泡阶段
else if(oTarget.attachEvent)
{
oTarget.attachEvent("on" + sEventType, fnhandler);
}
else
{
oTarget["on" + sEventType] = fnhandler;
}
}
EventUtil.removeEventHandler = function(oTarget, sEventType, fnhandler)
{
if(oTarget.removeEventListener)
{
oTarget.removeEventListener(sEventType, fnhandler, false);
}
else if(oTarget.detachEvent)
{
oTarget.detachEvent("on" + sEventType, fnhandler);
}
else
{
oTarget["on" + sEventType] = null;
}
}
function handleClick()
{
alert(oDiv.style.backgroundColor);
// EventUtil.removeEventHandler(oDiv, "click", handleClick);
}
EventUtil.addEventHandler(oDiv, "click", handleClick);//添加事件
评论

React 18的并发渲染确实是个重大改进,我们在项目中已经升级使用,性能提升明显!