li 标签没有触摸事件
No touch event for li tag
我使用触摸显示器和html页面(MS Windows 7 Pro Eng,IE8)。而且我发现当点击 li
标签的文本区域时会触发触摸,而其余部分将被忽略。
如何改变它,即使用户点击 li 的 white/non-text 区域它也会按预期触发。
<link href="css/bootstrap.min.css" rel="stylesheet" />
<script src="jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="jquery.mobile-1.4.5.min.js" type="text/javascript"></script>
<ul class="nav" id="mainList">
<li class="touchedLi stripe-even" id="item0"><a href="#">Club Yellow 1</a></li>
<li class="touchedLi stripe-odd" id="item1"><a href="#">Club Yellow 2</a></li>
<li class="touchedLi stripe-even" id="item2"><a href="#">Club Yellow 3</a></li>
</ul>
CSS
li.stripe-even {
background-color: #FFF1ED;
list-style-type: none;
}
li.stripe-odd{
background-color: #F2FFED;
list-style-type:none;
}
ul.mainList li:hover{
background-color: yellow;
}
#mainList a:active {
color: white;
background-color: orange;
}
#mainList>li>a {
display: block;
}
li.stripe-even {
background-color: #FFF1ED;
list-style-type: none;
}
li.stripe-odd{
background-color: #F2FFED;
list-style-type:none;
}
ul.mainList li:hover{
background-color: yellow;
}
#mainList a:active {
color: white;
background-color: orange;
}
#mainList>li>a {
display: block;
}
#mainList>li {
display: block;
}
#mainList>li {
display: block;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="nav" id="mainList">
<li class="touchedLi stripe-even" id="item0"><a href="#">Club Yellow 1</a></li>
<li class="touchedLi stripe-odd" id="item1"><a href="#">Club Yellow 2</a></li>
<li class="touchedLi stripe-even" id="item2"><a href="#">Club Yellow 3</a></li>
</ul>
你的 CSS 是什么?尝试添加 display: block 到 a 标签。
所以我找到了可行的解决方案
没有任何工作,只有
所以 li
标签应该是这样的
<ul class="nav" id="mainList">
<li class="touchedLi stripe-even" id="item0"><a href="#">Club Yellow 1 </a></li>
<li class="touchedLi stripe-odd" id="item1"><a href="#">Club Yellow 2 </a></li>
<li class="touchedLi stripe-even" id="item2"><a href="#">Club Yellow 3 </a></li>
</ul>
然后
的区域是可以触摸的区域! :)
如何添加
这取决于您的需要。
我使用触摸显示器和html页面(MS Windows 7 Pro Eng,IE8)。而且我发现当点击 li
标签的文本区域时会触发触摸,而其余部分将被忽略。
如何改变它,即使用户点击 li 的 white/non-text 区域它也会按预期触发。
<link href="css/bootstrap.min.css" rel="stylesheet" />
<script src="jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="jquery.mobile-1.4.5.min.js" type="text/javascript"></script>
<ul class="nav" id="mainList">
<li class="touchedLi stripe-even" id="item0"><a href="#">Club Yellow 1</a></li>
<li class="touchedLi stripe-odd" id="item1"><a href="#">Club Yellow 2</a></li>
<li class="touchedLi stripe-even" id="item2"><a href="#">Club Yellow 3</a></li>
</ul>
CSS
li.stripe-even {
background-color: #FFF1ED;
list-style-type: none;
}
li.stripe-odd{
background-color: #F2FFED;
list-style-type:none;
}
ul.mainList li:hover{
background-color: yellow;
}
#mainList a:active {
color: white;
background-color: orange;
}
#mainList>li>a {
display: block;
}
li.stripe-even {
background-color: #FFF1ED;
list-style-type: none;
}
li.stripe-odd{
background-color: #F2FFED;
list-style-type:none;
}
ul.mainList li:hover{
background-color: yellow;
}
#mainList a:active {
color: white;
background-color: orange;
}
#mainList>li>a {
display: block;
}
#mainList>li {
display: block;
}
#mainList>li {
display: block;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="nav" id="mainList">
<li class="touchedLi stripe-even" id="item0"><a href="#">Club Yellow 1</a></li>
<li class="touchedLi stripe-odd" id="item1"><a href="#">Club Yellow 2</a></li>
<li class="touchedLi stripe-even" id="item2"><a href="#">Club Yellow 3</a></li>
</ul>
你的 CSS 是什么?尝试添加 display: block 到 a 标签。
所以我找到了可行的解决方案
没有任何工作,只有
所以 li
标签应该是这样的
<ul class="nav" id="mainList">
<li class="touchedLi stripe-even" id="item0"><a href="#">Club Yellow 1 </a></li>
<li class="touchedLi stripe-odd" id="item1"><a href="#">Club Yellow 2 </a></li>
<li class="touchedLi stripe-even" id="item2"><a href="#">Club Yellow 3 </a></li>
</ul>
然后
的区域是可以触摸的区域! :)
如何添加
这取决于您的需要。