我使用的是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进行页面设计。
答案 0 :(得分:0)
我会检查两件事来帮助调试这个。首先,确保按钮上的onclick实际上没有被调用。 Safari不应该在onclick上遇到任何问题。检查的简便方法是直接在按钮上放置console.log或alert:
<button onclick="console.log('Hello')"></button>
如果它实际上没有被调用,很可能是因为另一个元素遮挡了它。我检查z轴以确保它不在其他地方