Javascript差异桌面和移动



>我有这个问题:与桌面浏览器相比,有两种行为在移动浏览器中的工作方式不同。

首先:在桌面浏览器中,由于下面的脚本,无法在可编辑单元格中输入任何字母。但是,在移动设备中,我可以设置任何字母,当按 Enter 时,它会在单元格中显示 NaN。

第二:正如您在HTML代码中看到的那样,有事件"onClick",它在编辑过程中选择可编辑单元格的值,以便用户可以在不按Canc/Backspace的情况下覆盖它。在移动设备中,它也选择值,问题是当点击单元格并且不编辑任何内容而只是再次按 Enter 时,它会显示 NaN 而不是最早的未编辑值。

可编辑单元格:

<td width="14%" class="text-center" id="Preleva" contenteditable="true" onclick="document.execCommand('selectAll',false,null)"> @record.Preleva</td>

脚本:

$('td[id="Preleva"]').keypress(function(e) {
if (isNaN(String.fromCharCode(e.which))) e.preventDefault();
});

document.execCommand 已被弃用,在某些浏览器中无法工作。如果是输入,您可以执行以下操作(查看此信息(:

<input onClick="this.setSelectionRange(0, this.value.length)" value="Sample Text" />

此外,e.this 也被弃用,在某些浏览器中也无法正常工作。

在这里,你有一篇关于事件的替代方案的好帖子。

此外,您可以在这里找到document.execCommand('selectAll',false,null)的不错替代品

通过在里面放一个标签,然后在 上管理所有内容来解决,现在它可以在任何设备上完美运行。

相关内容

  • 没有找到相关文章

最新更新