將事件「點擊」到jquery.mobile中存在問題。當對項目進行「輕擊」時,該項目被隱藏,它觸發位於該項目下方的INPUT字段上的事件「焦點」。 我該如何讓焦點事件不會被解僱? 這是一個小例子代碼。jquery.mobile「點擊」發射「焦點」事件
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<style>
.drop {
position: fixed;
left: 0;
top: 0;
width: 100%;
z-index: 100;
padding: 0 0 1px;
}
.drop .holder {
overflow: hidden;
padding: 10px 10px 3px;
margin: 0 24px -2px;
background: #1c365b;
}
a {font-size: 24px;}
</style>
</head>
<body>
<form action="#" id="form">
<input type="text" name="input 1">
<input type="text" name="input 2">
<input type="text" name="input 3">
</form>
<div class="drop">
<div class="holder">
<a>Link 1</a><br>
<a>Link 2</a><br>
<a>Link 3</a><br>
</div>
</div>
<div id="console"></div>
<script>
$(function() {
var console = $('#console');
$('.drop').find('a').unbind('tap').bind('tap', function (e) {
console.append(' tap on drop menu');
$('.drop').hide();
return false;
});
$('#form').find('input').unbind('focus').bind('focus', function (e) {
console.append(' focus on ' + $(e.target).attr('name'));
});
});
</script>
</body>
隱藏下拉後你會得到:
<div id="console">tap on drop menu focus on input 2</div>
stopImmediatePropagation()方法並不能幫助。
在Chrome瀏覽器中的一切似乎不錯。我可以在「Mobile Safari」和「Opera Mobi」上重現它。我在使用「Safari」瀏覽器的項目中使用phonegap。 – Anton 2013-03-14 08:37:40