我正在使用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进行页面设计。
我会检查两件事以帮助调试。首先,确保按钮上的onclick实际上没有被调用。 Safari的onclick应该不会有任何问题。简单的检查方法是将console.log或警报直接放在按钮上:
<button onclick="console.log('Hello')"></button>
如果实际上没有被调用,则很可能是因为另一个元素使它变得模糊。我会检查z轴以确保它不在其他物体的下方