-1

我正在尝试调整基于 Yii 的网站,使其在 Android 手机上表现良好。

一个问题是,在数据输入表单上,复选框通常比您的手指还小。如果您的手指稍稍偏离,则当您点击复选框(或任何小项目)时,整个表单元素将闪烁突出显示。这与您触摸表单的空白区域时发生的行为相同 - 整个表单矩形闪烁橙色并且手机发出点击/点击声音。

复选框仍然可以正常切换 - 当您点击复选框(或其标签)时,看到整个表单呈橙色闪烁,看起来很混乱。

更新

也许更好的问题是“Android 浏览器试图通过让表单元素响应点击/点击来做什么?” 如果我将表单缩放一点点,那么我可以在任何地方点击,并且只有表单控件响应(这是所需的行为)。但是当缩小到 1:1 时,文本字段之外的任何点击都会导致整个表单元素呈橙色闪烁。该表格被设计为以 1:1 的比例完美契合。我希望也许对 Android 浏览器有更多经验的人会知道它为什么会这样做,并且可能会提出一种让它表现得更好的方法。

4

1 回答 1

0

事实证明,当 validateOnSubmit 设置为 true 时,这是 yiiactiveform.js 的副作用。在这种情况下,脚本添加了提交和鼠标事件处理程序,这些处理程序使 Android 浏览器(可能还有其他基于触摸的浏览器)在文本框之外的表单上几乎任何地方都可以直观地响应点击/点击。

我不知道为什么放大会对这种行为产生任何影响,但出于某种原因它确实如此。

无论如何,最简单的解决方案是禁用 validateOnSubmit 选项。看起来唯一的其他选择是重写 yiiactiveform.js 以不绑定到有问题的表单事件。我想自定义版本可以仅依赖于从提交按钮显式调用,而不是尝试挂钩表单事件。

于 2013-06-10T19:38:32.250 回答