我的iPhone屏幕出问题了。我有一个想法,因为我是一个web开发人员,使用我的手机访问本地机器的web服务器或jsfiddle上的页面,并在该页面上运行一些jquery,它会给我一些关于每个触摸事件的简单反馈。(例如,我有一种感觉,即使我没有触摸屏幕,我也会看到许多虚假的滑动事件。)
就像这样:
<div id="feedback">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
function feedback(msg){
$("#feedback").append("<div class="line">"+msg+"</div");
}
$(function() {
feedback("in $(function) block");
$(document).on("click", function(event){
feedback("clicked at "+event.pageX+","+event.pageY);
});
//can you replace the below with working code?
$(document).on("all events", function(event){
var msg = "Some basic info about this event: if it's a swipe, which direction. if it's a keypress, which character? etc"
feedback(msg);
});
});
</script>
我在这里设置了一个jsfiddle: https://jsfiddle.net/sxqjp9xe/
我是否需要为我感兴趣的每个事件写一个处理程序,就像我已经完成了点击处理程序?还是有更通用的解决方案?谢谢你,马克斯
编辑:改变了我的"反馈"功能,使用prepend()
而不是append()
,因为一旦你在那里得到很多行,它更容易看到。
可以在处理程序中包含多个事件:
function feedback(msg){
$("#feedback").append("<div class="line">"+msg+"</div");
}
$(document).on("blur touchstart touchmove touchend touchcancel focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error", function(event) {
var msg = event.type
feedback(msg);
}
https://jsfiddle.net/e9e0ehyc/