下面的代码:
var statusList = document.createElement('ul'); //I am populating this list elsewhere
statusList.style.display = 'none';
var statusSpan = document.createElement('span');
statusSpan.onmouseover = mapControlHover(statusList);
statusSpan.onmouseout = mapControlNoHover(statusList);
function mapControlHover(element) {
element.style.display = 'block';
}
function mapControlNoHover(element) {
element.style.display = 'none';
}
这两个事件都是在页面加载时触发的(它们不应该这样做)。onmouseover
或onmouseout
都没有触发。
答案中请不要包含jQuery。
1条答案
按热度按时间sd2nnvve1#
是的,这是因为您正在调用事件
您应该只传入事件处理程序函数引用。
以及
您也可以使用function.bind,有关支持和IE〈9的多边形填充,请参见
和访问