【问题标题】:jQuery .select() is not working on mobile devicesjQuery .select() 不适用于移动设备
【发布时间】:2014-06-12 10:33:19
【问题描述】:

我在一个网站上工作,该网站的要求是允许访问者通过单击复制代码。就像我们过去通过单击在某些网站上复制优惠券代码一样。

为此,我使用了 jQuery,如下所示:

$(".enter-coupon-input").on("click", function () {
   $(this).select();
}).trigger( "click" );

这适用于桌面上的所有浏览器,也适用于包括 iOS 和 Android 在内的平板电脑。但它不适用于任何移动设备。当我尝试选择文本字段内的文本时,会选择整个文本字段,而不仅仅是文本字段内的文本。

这是文本字段:

<input type="text" name="couponcode" id="couponcode" 
 class="enter-coupon-input enter_input_coupon" 
 value="<?php echo $text_here;?>" readonly />

谁能告诉我为什么这不起作用,我已经通过谷歌搜索和搜索代码论坛进行了很多尝试,但没有得到任何解决方案。

【问题讨论】:

  • 您可能需要在遇到问题的设备上循环支持选择。有些可能不支持它或有不同的实现,移动设备上的常见问题。

标签: jquery select mobile input


【解决方案1】:

试试这个,也许这种情况下移动浏览器有一些默认行为

$(".enter-coupon-input").on("click", function (е) {
   e.preventDefault();
   $(this).select();
}).trigger( "click" );

【讨论】:

  • 还是不行,长按文本字段时选择了整个文本字段
  • 或 jQuery e.preventDefault(); 不涵盖移动浏览器,因此您应该尝试防止纯 js 的默认行为。还要考虑相反的可能性,即如果有任何其他框架或库,实际上它们的代码片段会覆盖默认行为,就像我在上面的示例中所做的那样。我在我的应用中遇到过此类问题。
猜你喜欢
  • 2013-05-29
  • 2017-12-13
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 2016-08-22
  • 2015-11-15
  • 2016-11-02
  • 2023-03-23
相关资源
最近更新 更多