按钮上的Safari onClick事件偶尔无法正常工作

时间:2015-08-17 16:26:47

标签: javascript button javascript-events safari onclick

我使用的是Safari 8.0.7版。我有一组使用内联onClick事件设置的按钮。大约90%的时间,它们完美地工作,但偶尔按钮不会触发事件。如果我重新加载页面,或者回到页面,它将会起作用。它只是偶尔不起作用。是否存在导致此问题的已知错误,或者是我的代码中的某些错误导致它?以下是相关代码:

按钮:

<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();
    }
}

非常感谢任何帮助!

修改

经过进一步测试,似乎只有在指针位于按钮的顶部边框上或附近时,或者在&#34;继续&#34;周围区域的顶部和底部附近时才会发生。或&#34;返回&#34;标签。我不确定这是否有帮助。

另外,我使用Bootstrap进行页面设计。

1 个答案:

答案 0 :(得分:0)

我会检查两件事来帮助调试这个。首先,确保按钮上的onclick实际上没有被调用。 Safari不应该在onclick上遇到任何问题。检查的简便方法是直接在按钮上放置console.log或alert:

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

如果它实际上没有被调用,很可能是因为另一个元素遮挡了它。我检查z轴以确保它不在其他地方