2012-12-04 23 views
5

Kodu: Ben cevap metin kutusu HTML tıklandığında yakalamak için çalışıyorlarHtml Android'de iki kez ateş onclick

function hello(){alert("Hi");}; 

<center> 
<table border="0" height="100%"> 
<tbody> 
      <tr> 
       <td align="center" width="100%"> 
       <img src="cover.png" 
        width="300" height="300" id="image"></img></td> 
      </tr> 
      <tr> 
       <td height="100%">&nbsp;</td> 
      </tr> 
      <tr> 
       <td align="center"> 
      <form onsubmit="go();return false"> 
         <input class="answer" id="answer" name="answer" 
          onclick="hello();"/> 
        </form> 
       </td> 
      </tr> 
      <tr> 

      </tr> 
     </tbody> 
</table> 
</center> 

. Firefox ve Chrome'da mükemmel çalışır (yalnızca bir tane Hi uyarısı alırım), ama onclick yöntemi, android'de bir web görünümünde kodu çalıştırmayı denediğimde iki kez patlar (iki Hi uyarısı alır). Ancak, daha sonra aynı işlevi çağırdığımda, düzgün bir şekilde çalışır ve yalnızca bir tane Hi uyarısı tetikler. Bunu tahmin ediyorum

<div style="bottom: 0; right: 0; position:absolute; margin-right:5%"> 
    <a><img alt="" src="start.png" id="submit" onclick="go();hello();"></a> 
    </div> 

ben forma içinden işlevini çağırıyorum ve her nasılsa iki kez olay ateş ediyor ama bunu düzeltmek için nasıl hiçbir fikrim yok gerçeği ile bir ilgisi vardır. Herhangi bir yardım?

cevap

0

Aşağıdaki gibi one() kullanmayı deneyebilirsiniz.

$('#answer').one('click', function() { 
    alert("Hi"); 
}); 

<form onsubmit="go();return false"> 
    <input class="answer" id="answer" name="answer"/> 
</form> 
+0

Hiçbir şey yapmıyor gibi görünüyor. – user1876307

+0

'$ (document) içinde' one() 'işlevini çağırıyor musunuz? Zaten (function() {}'? – chridam

+0

Burada değildim, acemi oldum. Teşekkürler! Bu iki kez ateşleme sorunu giderir, ancak şimdi yalnızca uyarı kutuyu ilk tıklattığımda (sayfanın etrafında başka şeyler yaparsam ve sonra tekrar bir şey olmuyorsa metin kutusunu tıklatır) gösterir. – user1876307