示例:http://jsfiddle.net/FGuVM/76/
<div>
<form>
<select class='yearDropdown'>
<c:forEach var="years" items="${parkYears}">
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
</c:forEach>
</select>
</form>
在Chrome上,从选择中选择值时,不会触发Firefox和IE 11 mouseleave。
在更改事件之前的microsoft Edge mouseleave触发器上。
选择不起作用,因为我在值更改之前更改了选择大小。
如何使选择工作与其他浏览器一样?
答案 0 :(得分:1)
我可以确认浏览器之间的差异。此外,似乎这可能是EdgeHTML引擎中的回归,因为Windows 10上的Internet Explorer 11的功能类似于Google Chrome和Mozilla Firefox in my testing:
<select size="3">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
with ( document.querySelector( "select" ) ) {
addEventListener( "change", log.bind( this, "change" ) );
addEventListener( "mouseenter", log.bind( this, "mouseenter" ) );
addEventListener( "mouseleave", log.bind( this, "mouseleave" ) );
}
function log ( eventName ) {
document.body.appendChild(
document.createElement( "p" )
).textContent = eventName;
}
我会看看团队是否已就此提出问题;如果我们不这样做,我会确保它被跟踪。