当前位置:  开发笔记 > 编程语言 > 正文

Android上的WebKit可以使用哪些DOM事件?

如何解决《Android上的WebKit可以使用哪些DOM事件?》经验,为你挑选了3个好方法。

我正在构建面向Android用户的移动网络应用.我需要知道哪些DOM事件可供我使用.我已经能够完成以下工作,但不是非常可靠:

点击

鼠标移到

鼠标按下

鼠标松开

更改

我无法让以下工作:

按键

KEYDOWN

KEYUP

有没有人知道支持的内容的完整列表以及在什么情况下(例如,onchange只能用于表单输入?)?我在谷歌上找不到这方面的参考.

谢谢!

更新:我在Android开发人员列表中问了同样的问题.我将做更多的测试,并将在这里和那里发布我的结果.



1> Andrew Hedge..:

好的,这很有趣.我的用例是我A在WebKit视图的屏幕上有一系列链接(标签).为了测试可用的事件区域,使用jQuery 1.3.1,我将此页面上列出的每个事件(甚至是那些没有意义的事件)附加到链接,然后在Android模拟器上使用向上,向下和输入控件并注明哪些事件在哪种情况下被解雇

这是我用来附加事件的代码,结果如下.注意,我正在使用"实时"事件绑定,因为对于我的应用程序,A标签是动态插入的.

$.each([
    'blur',
    'change',
    'click',
    'contextmenu',
    'copy',
    'cut',
    'dblclick',
    'error',
    'focus',
    'keydown',
    'keypress',
    'keyup',
    'mousedown',
    'mousemove',
    'mouseout',
    'mouseover',
    'mouseup',
    'mousewheel',
    'paste',
    'reset',
    'resize',
    'scroll',
    'select',
    'submit',

    // W3C events
    'DOMActivate',
    'DOMAttrModified',
    'DOMCharacterDataModified',
    'DOMFocusIn',
    'DOMFocusOut',
    'DOMMouseScroll',
    'DOMNodeInserted',
    'DOMNodeRemoved',
    'DOMSubtreeModified',
    'textInput',

    // Microsoft events
    'activate',
    'beforecopy',
    'beforecut',
    'beforepaste',
    'deactivate',
    'focusin',
    'focusout',
    'hashchange',
    'mouseenter',
    'mouseleave'
], function () {
    $('a').live(this, function (evt) {
        alert(evt.type);
    });
});

这是它如何摆脱:

在什么也没有突出显示第一页加载(周围的任何项目没有丑陋的橙色选择框),用上下键选择第一项,以下事件解雇(按顺序): ,mouseover,,mouseentermousemoveDOMFocusIn

与选定的,使用向下按钮移动到下一个项目的项目,下列事件烧制(按顺序): ,mouseout,mouseover,,mousemoveDOMFocusOutDOMFocusIn

与项目选择,点击"进入"按钮,出现如下事件解雇(按顺序): ,mousemove,mousedown,DOMFocusOut,,mouseupclickDOMActivate

这让我觉得是一堆随意的垃圾.并且,那个只有IE浏览器的人才会mouseenter做出一个客串,然后休息一天剩下的时间?哦,至少现在我知道要注意哪些事件.

如果其他人想要获取我的测试代码并进行更彻底的测试,可能会使用表单元素,图像等,这将是很好的.



2> Oskar Austeg..:

由于这是关于SO的第二个最受欢迎的Android + JavaScript帖子(这只是针对Android平台的Web开发状态的悲伤评论),我认为可能值得在http包含指向pkk触摸事件测试结果的链接 : //www.quirksmode.org/mobile/tableTouch.html以及http://www.quirksmode.org/mobile/一般.



3> Roman Nurik..:

从Android 1.5开始,iPhone支持的相同触摸(开始|结束|取消)事件也在Android中运行.

我发现的一个问题是touchmove结束了排队.还没有解决方法.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有