我一直试图解决这个问题,并找到了多种解决方案"在这里(和其他地方),但似乎没有什么对我有用。我忽略了什么吗?
在桌面上一切正常,但在移动设备(特别是iOS Safari)上,点击事件代码不起作用。
**澄清....点击事件正在解雇....如果我投入警报,它会触发。但是DOM没有被操纵。同样,这仅适用于移动设备。 DOM操作代码在桌面上100%运行。
这是一个WordPress网站,这就是为什么我必须解决没有冲突模式的原因。这是我的代码......
HTML
brew info
的jQuery
<button id="add-ingredient" class="add-button" style="cursor: pointer;">Add</button>
答案 0 :(得分:0)
如果删除event.preventDefault();
,则应执行回调。
如果您想阻止默认行为,我建议您收听touchstart
事件:
$('#add-ingredient').on('click touchstart', function(event) {
console.log(event);
});
答案 1 :(得分:0)
好吧我发现我的jQuery代码中有一个错误,我使用的是错误的选择器。事实证明Chrome允许它通过其他浏览器(iOS Safari)没有的地方。我在这里发现了错误...
var lastIngredient = $(this).prev('[class^="ingredient').attr('class');
问题在于类^ =“成分.....选择器。注意我没有关闭[]。代码应该如下....
var lastIngredient = $(this).prev('[class^="ingredient"]').attr('class');
这样做可以使一切在移动设备上正常运行。