javascript - 如何在 JavaScript 中为桌面和移动设备创建不同的 onclick 行为?

标签 javascript android ios mobile

我正在开发一个简单的表单,可以生成一段格式化文本(您可以看看 here )。想法是简化创建文本的选择。对于桌面浏览器,在 div 上使用 onсlick 处理程序执行以下代码效果很好:

if (document.selection) {
    var range = document.body.createTextRange();
    range.moveToElementText(document.getElementById('template_text'));
    range.select();
}
else if (window.getSelection) {        
    var range = document.createRange();
    range.selectNode(document.getElementById('template_text'));
    window.getSelection().addRange(range);
}   

在移动浏览器(Android 浏览器和 iOS 版 Safari)中,此代码仅突出显示 div 片刻,仅此而已。我不想创建单独的移动版本,因为这只是表单的问题。

能否以某种方式简化移动浏览器的文本选择而不影响桌面的当前功能?

谢谢。

最佳答案

根据this的回答您可以前往http://detectmobilebrowsers.com/主题并下载脚本,该脚本将为您提供一个检测访问者使用的是移动浏览器还是桌面浏览器的工具。然后,您只需使用简单的 if 分支代码,并在这个特定位置分别安排移动和桌面行为选择文本

关于javascript - 如何在 JavaScript 中为桌面和移动设备创建不同的 onclick 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11590842/

相关文章:

android - 如何在两个 Activity 实例之间传递一个 Bitmap 对象?

ios - 在嵌套 block 中引用 weak self

iphone - 查找 MPMoviePlayerController 是否正在播放

iphone - 应用程序因音频流超过 5MB/5 分钟而被拒绝?可达性和跟踪数据使用情况

javascript - 来自 nodejs 的 Neo4j 多密码查询

JavaScript 按降序排列日期的排序列表

javascript - 在 jQuery 或 CSS 中隐藏所有 rowspan 列单元格

javascript - 如何在 meteor 中监听整个页面的点击事件?

android - ListView 中的 EditText 焦点

java - Android locationManager 空指针异常? (如何传递上下文?)