我有jQuery代码,它以所选控件位于屏幕中间的方式滚动页面。
$(document).ready(function() {
$('.select').click(function() {
$('html, body').animate({
scrollTop: 100
}, 100);
return false;
});
});
不幸的是,Chrome(版本31.0.1650.63)导致如果在选择展开位置后滚动文档,则分离选项列表。在FF(25/26)和IE 10/11中工作正常。 Fiddle demo
答案 0 :(得分:0)
我能做的最好的就是:http://jsbin.com/ANiMacem/3/edit
添加此功能:
function openSelect(obj) {
var element = obj[0];
if (document.createEvent) { // all browsers
var e = document.createEvent("MouseEvents");
e.initMouseEvent("mousedown", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(e);
} else
if (element.fireEvent) { // ie
element.fireEvent("onmousedown");
}
}
并将您的代码更改为:
$(".select").on('click',function() {
$('html, body').animate({
scrollTop: 100
}, 100);
setTimeout(function (){ openSelect($(".select"));
openSelect($(".select")); //yes twice.
},100);
return false;
});