问问题
6868 次
3 回答
3
w4rumy 的回答非常适合我,谢谢。但是为了对抗 w4rumy 的代码“劣势”,我对其进行了一些改进。
要检查设备,只需执行以下操作:
var isAndroid = navigator.userAgent.toLowerCase().indexOf("android");
if (isAndroid > -1) {
alert("Android!");
$("select").bind('mouseenter', function (event) {
$(this).focus();
});
$("select").bind('mouseleave', function (event) {
$(this).blur();
});
}
else {
alert("iPhone!");
}
于 2012-10-04T08:53:28.520 回答
1
这个 jQuery 代码现在可以在 Android 设备上为我解决问题
$(document).ready(function(){
$("#select").bind('mouseenter', function(event) {
$(this).focus();
});
$("#select").bind('mouseleave', function(event) {
$(this).blur();
});
});
基本上,mouseenter
事件mouseleave
是在 Android 设备上触发的。我通过记录select
在元素上触发的所有事件发现了这一点。
好消息是,我仍然可以在我的元素中使用该onfocus
事件。select
缺点是这段代码只能在安卓设备上执行。
于 2012-08-22T08:48:35.660 回答
0
黑莓有一些类似的问题......
我的解决方法如下
<select onfocusin='DO SOMETHING' onfocusout="DO SOMETHING">
如果它不为什么不尝试,那应该可以
$('#SELECTID').focus(function(){
//code to do on focus here
});
在职的:
这也有效:http: //jsfiddle.net/esbYy/6/
它是导致问题的焦点所在的 jQuery 代码。
希望这可以帮助
于 2012-08-08T08:59:42.600 回答