2016-07-26 17 views
0

我正在使用IOS設備和開發應用程序。我在對話框中遇到了一個與onclick事件有關的問題。我在對話框中有一個文本框,需要使用onclick事件調用一個函數。但它不適用於IOS(Ipad/IPhone)。有人可以檢查這一點,並建議我。下面是在IOS中不工作的簡單代碼。我已經嘗試ontouchstart事件,這工作正常,但是onclick有什麼問題?從對話jQuery對話框上的Onclick事件不能與IOS一起工作

-code框

<input type="text" onclick="hello();"> 
<script> 
function hello() 
{ 
    alert(2222); 
} 
</script> 
+0

添加'光標:pointer'風格的元素看看會發生什麼吧: '' – akazemis

+0

@ akazemis謝謝,但它仍然不能在IOS中工作,IOS可能會出現問題。 –

回答

1

因爲IOS沒有註冊綁定到DOM LOADS之後添加的元素的點擊/觸摸事件,所以是個問題。

在您對下面的更改進行編碼並且它應該工作。

<input type="text" onclick="hello();" style="cursor:pointer"> 

上面一行將解決您的代碼。

此外,你可以參考下面的鏈接,並深入瞭解爲什麼IOS不註冊點擊/觸摸事件。

http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html

希望這給你一個更好的瞭解。感謝您的意見。

+0

謝謝,這段代碼工作正常,使用簡單的頁面和IOS,但是如果我把它放在從着陸頁打開的對話框中,那麼它不會觸發點擊事件。 –

+0

@Mahendra Rathod如果你不介意你能不能分享這裏的結構,我一定會在你看到對話框後幫助你。如果可能的話? – ankurJos

+0

@MahendraRathod爲什麼不嘗試執行下面的解決方案 – ankurJos

0

我不相信警報內部監督辦公室工作。

+0

也改變光標不會改變光標以外的任何東西。 – bugsiesegal

+0

警報與我已檢查的IOS正常工作。 –

+0

@bugsiesegal其實這是IOS的一個有趣的解決方法。 Safari不會將事件偵聽器綁定到「不可點擊的」元素。因此,如果根據Safari不能單擊div,則添加cursor:指向它的瀏覽器將使瀏覽器認爲它是可點擊的元素,然後它將綁定偵聽器。 – Mike

0

HTML是

<button id="demo" type="text" onclick="myFunction()" style="padding:10px;"> 

JS是

function myFunction() { 
      var x; 
      if (confirm("Press a button!") == true) { 
       x = "You pressed OK!"; 
      } 
      else { 
       x = "You pressed Cancel!"; 
      } 
      document.getElementById("demo").innerHTML = x; 
     } 

我檢查了IOS設備,在Chrome開發者工具iPhone/iPad的。它工作正常,你可以確認嗎?

+0

在Chrome開發者工具中,我的代碼在所有設備上都能正常工作。但在實際的設備中,它不工作。我無法在這裏放置我的代碼。 –

相關問題