Dav*_*uez 5 javascript mobile jquery button ios
一些快速背景
我正在构建一个在某些区域使用 html web 视图的 iOS 应用程序。我想确保这些页面上的 html 按钮看起来和感觉尽可能像 iOS 按钮。为了实现这一点,我想要一个点击状态,以便在点击时按下 html 按钮。现在在 HTML 中这很容易。您只需为 :active 或 :hover 或其他任何设置样式。我实际上已经定义了这个。然而,在 iOS 中,这些状态不会立即生效——至少在正常情况下是这样。所以我的目标是编写一个小脚本,为按钮添加一个类以更改其在touchstart 上的外观。
问题
然而,事实证明我不需要变得那么复杂……纯属偶然,我使用以下代码进行了测试:
document.addEventListener('touchstart', function(event) {
console.log("test");
}, true);
Run Code Online (Sandbox Code Playgroud)
我对 javascript 和 jQuery 非常熟悉,所以我打算做的就是检查我的语法并确保当我点击按钮时 eventListener 被触发。令我惊讶的是,按钮的 :active 状态在 css 中被触发(以及 :hover 状态)。那个代码……解决了我的问题!
我的问题
所以这是我的问题:上面的代码有效吗?我的意思是,这样做不好吗?就好像空的 eventListener 刚刚触发了桌面浏览器已经提供的行为。使用这种方法有什么问题吗?我是绿色的,但我不想养成坏习惯。如果这是一种糟糕的编码方式,我不想使用它。
感谢你们给我的任何见解!
我个人认为空事件监听器没有什么问题(除了函数调用的开销——无论如何,这在这里听起来可以忽略不计)。noop如果您必须添加事件侦听器但让它不执行任何操作,我建议您利用 jQuery 的功能:
$(document).on('touchstart', $.noop);
// or
document.addEventListener('touchstart', $.noop);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |