@George Siggouroglou: Nie jest dobrym pomysłem użycie identyfikatora dla elementów, które ostatecznie pojawią się więcej niż jeden raz w dokumencie. Zamiast tego dobrą praktyką jest uczynienie kodu bardziej modułowym.
Jeśli spodziewasz się urządzeń dotykowych, jest to również dobry wybór, aby użyć "dotknij" przed "kliknięciem", ponieważ uruchamia się znacznie szybciej i wcześniej niż kliknięcie. aby sprawdzić, czy jest w stanie obsłużyć dotyk, wolę używać modernizatora, ponieważ ułatwia wykrywanie funkcji.
The jQuery Mobile tap event triggers after a quick, complete touch event that occurs on a single target object. It is the gesture equivalent of a standard click event that is triggered on the release state of the touch gesture. https://api.jquerymobile.com/tap/
nadzieję, że ktoś pomoże
**html code:**
<a class="ext-link" href="#">Google it</a>
lub
<button class="ext-link" href="#">Google it</button>
Javascript (jQuery):
//define tab or click event type on rool level (can be combined with modernizr)
iaEvent = "click";
if (typeof navigator !== "undefined" && navigator.app) {
iaEvent = "tap";
}
$('.ext-link').each.bind(iaEvent, function() {
if (typeof navigator !== "undefined" && navigator.app) {
// Mobile device.
var linktarget = this.attr("href");
navigator.app.loadUrl(linktarget, {openExternal: true});
} else {
// Possible web browser
window.open(linktarget, "_blank");
}
});
Wydaje mi się, że domyślnie działa dobrze w Androidzie (ale używam także wtyczki Crosswalk ...). Sprawdź moją odpowiedź na 2015 rok tutaj, aby otworzyć '_self' w WebView, a' _blank' w zewnętrznej przeglądarce: http://stackoverflow.com/questions/32208609/cordova-why-would-inappbrowser-plugin-be-required-to-open -links-in-system-brows/32227524 –