Co DOM akce jsou k dispozici na WebKit o Androidu?

hlasů
31

Stavím mobilní webovou aplikaci která cílí na uživatele systému Android. Musím vědět, co DOM události mám k dispozici. Byl jsem schopen provést následující práci, ale nijak zvlášť spolehlivě pracovat:

  • cvaknutí
  • přejet myší
  • mousedown
  • mouseup
  • změna

Nebyl jsem schopen se dostat následující práce:

  • stisknutí
  • KeyDown
  • KeyUp

Ví někdo úplný seznam toho, co je podporována a v jakých kontextech (např je onchange k dispozici pouze tvořit vstupy?)? Nemohu najít odkaz na této skutečnosti na brýle.

Dík!

Aktualizace: Ptal jsem se na stejnou otázku v seznamu vývojáře Android . Budu dělat nějaké další testy a bude po mé výsledky jak sem a tam.

Položena 24/01/2009 v 08:13
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
20

OK, to je zajímavé. Můj případ užití je, že mám řadu odkazů ( Atagy) na obrazovce v pohledu WebKit. Chcete-li vyzkoušet, jaké události prostor k dispozici, pomocí jQuery 1.3.1, jsem připojený každou událost uvedenou na této stránce (a to i ty, které nedávají smysl) do vazby poté použil nahoru, dolů a zadejte ovládací prvky na Android emulátoru a poznamenal, které události vystřelil, za jakých okolností.

Zde je kód jsem použil pro připojení události, výsledky budou následovat. Všimněte si, že jsem pomocí „živé“ událost závazný, neboť pro mé žádosti, že Ase vloží značky dynamicky.

$.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);
    });
});

Zde je návod, jak to vysypal:

  • Při prvním načtení stránky s ničím zvýrazněný (ne ošklivé výběr oranžová krabice kolem libovolnou položku), pomocí tlačítka dolů vyberte první položku, následující události vypálil (v tomto pořadí): mouseover, mouseenter, mousemove,DOMFocusIn

  • S vybrané položky, pohybující se k dalšímu bodu pomocí tlačítka dolů, následující události vypálil (v tomto pořadí): mouseout, mouseover, mousemove, DOMFocusOut,DOMFocusIn

  • S vybrána položka, klepnutím na tlačítko „Enter“, následující události vypálil (v tomto pořadí): mousemove, mousedown, DOMFocusOut, mouseup, click,DOMActivate

To mi připadá jako banda chrchel náhodných znaků. A kdo je ta drzá IE-only události ( mouseenter) dělat portrét, pak brát po zbytek dne volno? No, alespoň teď vím, jaké události je třeba věnovat pozornost.

Bylo by skvělé, kdyby jiní chtějí, aby se moje testovací kód a provést důkladnější projet, případně s využitím prvků formuláře, obrázky, atd

Odpovězeno 24/01/2009 v 22:51
zdroj uživatelem

hlasů
9

Vzhledem k tomu, to je druhá nejpopulárnější po Android + JavaScript na SO (což je jen smutný komentář o stavu vývoje webových zaměřeného na platformu Android), myslel jsem, že to může být užitečné, včetně odkazu na výsledky zkoušek touch událost PKK na adrese http: //www.quirksmode.org/mobile/tableTouch.html i http://www.quirksmode.org/mobile/ obecně.

Odpovězeno 03/11/2010 v 16:39
zdroj uživatelem

hlasů
5

Jak Android 1.5, stejně touch (start | move | konec | zrušit) události, které iPhone podporuje práci v Android stejně.

Jeden problém, který jsem našel bylo, že touchmove konce nechat ve frontě. Zatím žádné řešení.

Odpovězeno 07/05/2009 v 08:12
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more