对非可点击元素如(span)的click事件在有些手机上不触发如何解决?

4 min read

这种情况可能是由于某些手机浏览器的性能或兼容性问题导致的。一种解决方案是使用JavaScript模拟点击事件来触发元素的行为。

下面是一些实现的示例代码:

// 获取需要模拟点击的元素
var target = document.getEelementById('element-id');

// 创建并分发模拟点击事件
var event = new MouseEvent('click', {
   'view': window,
   'bubbles': true,
   'cancelable': true
});
target.dispatchEvent(event);

或者,可以使用jQuery库的trigger()方法来模拟点击事件:

// 获取需要模拟点击的元素并调用click()方法
$('#element-id').click();

// 或者,使用trigger()方法来模拟点击事件
$('#element-id').trigger('click');

需要注意的是,使用这种方法模拟点击事件会绕过用户的真实事件触发,并可能影响到用户体验和交互。因此,尽量针对具体手机浏览器进行测试,并优化其他相关方面,如布局、样式、可点击区域等。