2010-09-23 3 views

Antwort

1

Ich glaube nicht, dass Sie verhindern können, dass die Tastatur in Eingabefeldern erscheint. Sie könnten jedoch ein HTML-Element erstellen, das genau wie ein Eingabefeld mit CSS aussieht, und das onClick-Ereignis behandeln, um Ihre benutzerdefinierte Tastatur anzuzeigen.

<style> 
    .textField{ 
     width: 120px; 
     height: 17px; 
     border-style:inset; 
     border-width: 2px; 
     border-color: gray; 
     float: left; 
    } 
</style> 
<script> 
    function showKeyboard(){ 
     alert("show the my cool keyboard"); 
    } 
</script> 

Name: <div onClick="showKeyboard()" class="textField"></div> 

Sie sollten Sencha Touch Kasse Web Apps für iOS-Geräte zu entwickeln.

+0

Dies ist eine Titan "fast native" App, nicht HTML, also wird dies leider nicht funktionieren. –

+0

Die Idee ist: Ich weiß nicht, warum Sie Ihre eigene Tastatur erstellen (IT'S A DONE PROJECT). Aber während Sie dabei sind, erstellen Sie nicht Ihre eigenen benutzerdefinierten Komponenten. Diese sind für Ihre benutzerdefinierte Tastatur gedacht. – dovidweisz

+0

.... Und vielleicht eine benutzerdefinierte Bildlaufleiste! – dovidweisz

0

Sie sollten die safari sdk überprüfen, gibt es einige zusätzliche Eingabe Typen mit mobilen Safari/HTML5.

Sonst könnten Sie einen div/span so gestalten, dass er wie eine Eingabe aussieht und ein verborgenes Feld hat. Wenn er angeklickt wird, rufen Sie das benutzerdefinierte div auf und geben Werte in die "Eingabe" ein.

Natürlich würden Sie dies mit progressiver Steigerung tun und machen dies als eine normale Textbox dann auf dem Laden der Seite Swap die normale Texteingabe für Ihren verborgenen Feld/div/span etc

1

position ein absolutediv mit a z-index:1 über das Texteingabefeld, und fügen Sie einen onclick Handler an die div, die die Tastatur startet.

Der nächste Schritt wäre, die Nummern der Tastatur anzufügen, um den Wert des Textfelds zu beeinflussen.

1

Am besten stoppen Sie das Ereignis beim Onclick-Ereignis.
html:

<textarea onclick='myOnClickEvent'></textarea> 

Javascript:

function myOnClickEvent(e){ 
e.stopPropagation(); 
} 

Dojo:

function myOnClickEvent(e){ 
dojo.stopEvent(e); 
} 

Sencha:

function myOnClickEvent(e){ 
e.stopEvent(); 
} 

hoffe, dass ich diese Hilfe.

+0

Das hat nicht für mich funktioniert. – mpen

13

Fügen Sie Ihrer Eingabe das Attribut 'readonly' hinzu und bieten Sie eine andere Möglichkeit, den Wert zu füllen.

+1

Beachten Sie, dass bestimmte Widget-Plugins keine Ereignisse bei schreibgeschützten Eingaben binden –

0

FYI, Sie können auch blur() auf einer Eingabe aufrufen, um die Tastatur zu verstecken ... obwohl wahrscheinlich keine gute Lösung in dieser Situation.

Verwandte Themen