如何在不阻止列表视图中的UI可视化更改的情况下处理点击事件

时间:2014-07-09 15:58:35

标签: javascript jquery ios css jquery-mobile

使用jQuery Mobile按钮,如:

<ul data-role="listview">
    <li><a data-role="button" href="#" id="test">Test</a></li>
</ul>

我正在附加一个这样的点击处理程序:

$('#test').on('tap', function(event) {
    event.preventDefault();
    window.console.log('do something useful here');
});

问题是preventDefault阻止JQM css更改为ui-btn-down / active / up / etc等按钮。或者只是添加点击处理程序就是阻止它们。所以对用户来说并不是很合适,因为没有点击按钮的视觉效果。

还有这个问题吗?也许在每个处理程序中手动分配类 - 尽管这看起来很重要。

2 个答案:

答案 0 :(得分:0)

您可以使用按钮元素:

,而不是阻止链接的默认操作
<div role="main" class="ui-content">
    <button id="test">Test</button>
    <br /><br />
    <input type="text" value="" id="output" />
</div> 

$('#test').on('tap', function(event) {        
    $("#output").val(new Date());
});

jQM以相同的方式设置按钮的样式,因此没有真正的区别。

  

正在使用 DEMO

答案 1 :(得分:0)

经过进一步测试,我对这个问题的前提是错误的。问题似乎是水龙头本身的持续时间。如果你点击太快,那么这些课程就不会被应用,但是会延长几毫秒而且他们会这样做。我正在结束这个问题。