2012-05-03 73 views
0

這似乎很棘手。我的iPad凍結,似乎這行代碼負責人認爲:使用JQuery點擊()IP

jQuery('#form_showAllUserHints').click(); 

與事件相關的HTML是在這裏:

<input id="form_showAllUserHints" class="hidden" type="button" value="showUserHints" onclick="A4J.AJAX.Submit('form',event,{'oncomplete':function(request,event,data){prepareHintMessages();},'similarityGroupingId':'form_showAllUserHints','parameters':{'userPrefActionParamShow':'NEW_PATIENT_HINT','form_showAllUserHints':'form_showAllUserHints'} });return false;" name="form_showAllUserHints"> 

正如你可以看到JavaServerFaces生成的Ajax-Javascript成爲代碼應該從JQuery-click() - Action中觸發。我怎樣才能在IPad上處理這個問題,我讀到了iPad不喜歡click() - JQuery-Action?

有一些類似的情況,我試圖去一個像這樣的IPad-only方式 (我想沒有jQuery-touchstart()函數,我只是想展示我的計劃來解決這個問題):

function clickShowAllUserHintsButton(){ 
var isiPad = navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i); 
if (isiPad) { 
    jQuery('#form_showAllUserHints').touchstart();// IPad-Bug: jQuery()-click geht nicht: http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working 
} else { 
    jQuery('#form_showAllUserHints').click();// IPad-Bug: jQuery()-click geht nicht: http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working 
} 
} 

在此先感謝。

+0

你已經試過jQuery('#form_showAllUserHints')。trigger(「click」); ? – zvona

+0

jQuery('#form_showAllUserHints')。trigger(「click」);沒有改變這種行爲。 – Jochen

回答

1

可能有一個特殊的原因,你可以調用按鈕的click()函數,但是不能直接調用直接綁定到按鈕的click事件的函數嗎?的

因此而不是調用

jQuery('#form_showAllUserHints').click(); 

你不能只是叫

A4J.AJAX.Submit('form',event,{'oncomplete':function(request,event,data){prepareHintMessages();},'similarityGroupingId':'form_showAllUserHints','parameters':{'userPrefActionParamShow':'NEW_PATIENT_HINT','form_showAllUserHints':'form_showAllUserHints'} });return false; 

如果您需要在按鈕上點擊該按鈕的值添加到表單請求,您可以添加參數在調用該函數之前以編程方式指向表單的操作URL。

+0

務實而簡單!我喜歡! –