2015-08-17 60 views
0

我正在使用Safari 8.0.7版本。我有一組使用內聯onClick事件設置的按鈕。大約90%的時間,他們工作得很好,但偶爾按鈕不會觸發事件。如果我重新加載頁面,或返回到頁面,它將工作。它只是偶爾不起作用。有沒有一個會導致這個問題的已知錯誤,或者是我的代碼中導致它的東西?下面是相關代碼:Safari onClick事件按鈕偶爾不起作用

的按鈕:

<div class="col-md-6"> 
    <?php if ($currentPage > 1) : ?> 
    <button class='btn btn-lg btn-default' onClick="progressInstructions(<?=$currentPage;?>, 'back')"><strong><i class="fa fa-chevron-left"></i> Back</strong></button> 
    <?php endif; ?> 
</div> 
<div class="col-md-6 text-right"> 
    <?php if (!isset($lastPage)) : ?> 
    <button class='btn btn-lg btn-default' onClick="progressInstructions(<?=$currentPage;?>, 'forward')"><strong>Continue <i class="fa fa-chevron-right"></i></strong></button> 
    <?php else: ?> 
    <button class='btn btn-lg btn-default' id="begin_practice"><strong>Begin Practice <i class="fa fa-chevron-right"></i></strong></button> 
    <?php endif; ?> 
</div> 

的progressInstructions代碼:

function progressInstructions(currentPage, direction) { 
    $('#page_' + currentPage).hide(); 
    if (direction == 'forward') { 
     $('#page_' + (currentPage + 1)).show(); 
    } else { 
     $('#page_' + (currentPage - 1)).show(); 
    } 
} 

任何幫助將不勝感激!

編輯

經過進一步的測試,似乎當指針位於或靠近按鈕的上邊框或周圍的「繼續」或「回區域的頂部和底部時,纔會發生「 標籤。我不確定這是否有幫助。

另外,我使用Bootstrap進行頁面設計。

+0

我也有這個問題。 – Booligoosh

回答

0

我會檢查兩件事來幫助調試。首先,確保按鈕上的onclick實際上沒有被調用。 Safari瀏覽器不應該有onclick任何問題。檢查簡單的方法是把一個或的console.log直接發出警報的按鈕:

<button onclick="console.log('Hello')"></button> 

如果它實際上不會被調用,它最有可能是因爲另一個元素是模糊的。我會檢查Z軸以確保它不在其他東西下

+0

console.log的觸發方式與調用以前的onclick函數時完全相同。也就是說,如果我點擊按鈕上的任何地方,而不是靠近它觸發的頂部邊界,但靠近按鈕的頂部邊界則不會。這是由z軸問題引起的嗎?我該如何檢查? – jldavis76

+0

嘗試在chrome開發工具中檢查它,並用一些額外的css規則暫時測試它,像'z-index:99999;''也許''position:fixed; top:100px; left:100px;'看到 – wesww

+0

我試過了,得到了同樣的結果。這很奇怪,因爲它只能沿着按鈕的頂部邊界以及按鈕上方和下方的區域不起作用。非常具體,小的領域。使用Bootstraps按鈕標籤會導致這種情況嗎? – jldavis76