这是一个 JSFiddle,可以满足您的要求:http:
//jsfiddle.net/digitalzebra/ZMXGC/10/
(function() {
var wrapper = document.getElementById("id");
var clickFunc = function(event) {
var target = event.originalTarget || event.target;
target.className = "active";
};
wrapper.addEventListener("click",clickFunc);
})();
稍微解释一下是为了...
首先,我使用自执行函数来获取包装器 div,使用getElementById()
. 这相当于在 jQuery 中使用 id 选择器:$('#id')
接下来,我使用该函数将点击处理程序附加到元素addEventListener()
并传入一个事件类型click
。
这将 click 处理函数绑定到 div 元素,就像 jQueryclick()
一样。我正在使用一种称为事件冒泡的东西,其中包装器的任何子级上的单击事件将调用附加到包装器的单击处理程序。
一旦用户点击元素,我们的函数就会被调用。 originalTarget
ortarget
是用户实际点击的元素,在这种情况下,它始终是li
. 然后我将该元素上的类设置为活动状态。