按钮上的Safari onClick事件偶尔不起作用

问题描述 投票:0回答:1

我正在使用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();
    }
}

任何帮助将不胜感激!

编辑

经过进一步测试,似乎仅在指针位于按钮的顶部边框上或附近或“继续”或“后退”标签周围区域的顶部和底部时发生。我不确定这是否有帮助。

而且,我正在使用Bootstrap进行页面设计。

javascript button safari onclick dom-events
1个回答
0
投票

我会检查两件事以帮助调试。首先,确保按钮上的onclick实际上没有被调用。 Safari的onclick应该不会有任何问题。简单的检查方法是将console.log或警报直接放在按钮上:

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

如果实际上没有被调用,则很可能是因为另一个元素使它变得模糊。我会检查z轴以确保它不在其他物体的下方

© www.soinside.com 2019 - 2024. All rights reserved.