Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不阻止listview中的UI可视化更改的情况下处理tap事件_Javascript_Jquery_Ios_Css_Jquery Mobile - Fatal编程技术网

Javascript 如何在不阻止listview中的UI可视化更改的情况下处理tap事件

Javascript 如何在不阻止listview中的UI可视化更改的情况下处理tap事件,javascript,jquery,ios,css,jquery-mobile,Javascript,Jquery,Ios,Css,Jquery Mobile,使用jQuery移动按钮,如: <ul data-role="listview"> <li><a data-role="button" href="#" id="test">Test</a></li> </ul> 问题是,preventDefault阻止了对ui btn down/active/up/等按钮的JQM css更改,或者仅仅添加tap处理程序就阻止了这些更改。因此,用户感觉不太对,因为单击按钮没有视觉效

使用jQuery移动按钮,如:

<ul data-role="listview">
    <li><a data-role="button" href="#" id="test">Test</a></li>
</ul>
问题是,preventDefault阻止了对ui btn down/active/up/等按钮的JQM css更改,或者仅仅添加tap处理程序就阻止了这些更改。因此,用户感觉不太对,因为单击按钮没有视觉效果


这个问题有什么解决办法吗?可能手动分配每个处理程序中的类-尽管这似乎很繁重。

您可以使用按钮元素,而不是阻止链接的默认操作:

<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以相同的方式设置按钮的样式,因此没有真正的区别

工作


经过进一步测试,我对这个问题的假设是错误的。问题似乎在于抽头本身的持续时间。如果你点击的太快,这些类不会被应用,但会再长几毫秒。我结束这个问题。

您在活动结束时是否尝试过返回false?是的,与PreventDefaults相同,这是一个好主意,在大多数情况下都应该有效。但是,据我所知,您不能在listview中使用s-您必须使用锚点…我刚刚更新了问题以指定listview的用法。@maxmore14,如果您设置href=,为什么需要使用默认值?另外,您可以使用垂直控制组获得一个简单的按钮列表:在进一步的测试中,我对这个问题的全部假设都是错误的。谢谢你的帮助!
<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());
});