2013-06-02 76 views
0

在我的應用程序,我有一個按鈕,我按下,帶回一些數據,它在我的網絡瀏覽器中正常工作,但在我的手機上運行它似乎根本不工作 - 這是什麼原因,誰能告訴我正確的如何做到這一點?jQuery Mobile - 在按鈕上使用onclick的正確方法?

<a href="" data-role="button" data-inline="true" data-icon="refresh" data-theme="b" onclick="loadXMLDoc()">Generate</a> 

回答

1

正確的方法是:

HTML:

<a href="" data-role="button" data-inline="true" data-icon="refresh" data-theme="b" id="some-button">Generate</a> 

的Javascript:

$(document).on('click','#some-button',function() { 
    loadXMLDoc(); 
}); 

使用jQuery Mobile時,不應使用內聯JavaScript事件綁定。我提供的解決方案即使DOM中不存在元素也可以工作。

工作例如:http://jsfiddle.net/Gajotres/25NUK/

+0

由於某種原因,這也不起作用,http://www.xbox1forums.co.uk/lotto/generate.php – iYugShell

+0

你確定嗎?我可以看到它在您的代碼中工作,它會生成數字並將它們顯示在頂部。 – Gajotres

+0

它在Web瀏覽器中工作,但不在ios Web瀏覽器上工作? – iYugShell

0

Demo

<a href="" class="testbutton" data-role="button" data-inline="true" data-icon="refresh" data-theme="b">Generate</a> 


$('.testbutton').click(function() { 
     loadXMLDoc(); 
    }); 
+0

那不是爲我工作,我認爲它會的(我想這從以前的資源,我發現) – iYugShell

+0

你確定你已經定義的任意類名或ID到您的鏈接? –

+0

它抓住的代碼只是: function loadXMLDoc() { var xmlhttp; if(window.XMLHttpRequest) {//代碼爲IE7 +,Firefox,Chrome,Opera,Safari xmlhttp = new XMLHttpRequest(); } else {//代碼爲IE6,IE5 xmlhttp = new ActiveXObject(「Microsoft.XMLHTTP」); } xmlhttp.onreadystatechange =函數() { 如果(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 的document.getElementById( 「myDiv」)的innerHTML = xmlhttp.responseText。 } } xmlhttp.open(「GET」,「gen.php」,true); xmlhttp.send(); – iYugShell

相關問題