【问题标题】:jQuery .select works, but Javascript .select doesntjQuery .select 有效,但 Javascript .select 无效
【发布时间】:2012-05-02 08:41:48
【问题描述】:

我正在为 Motorola / IE 6 设备构建移动网站。

由于某些我想不出来的原因,jQuery 的 .select() 函数可以正常工作,但不能直接在 javascript 中调用。

<input type="text" id="lid" value="" class="as_done">

jQuery 的工作方式是这样的:

$('#lid').select();

不工作的方式是这样的:

document.getElementById('lid').select();

这让我很困惑。关于为什么会这样的任何想法?

编辑:我不想在 jQuery 中做任何事情。我只是想选择输入框中的文本。我不应该需要 jQuery 来做到这一点,但标准的方式是行不通的。 http://www.w3schools.com/jsref/met_text_select.asp

【问题讨论】:

  • 它确实有效 -> jsfiddle.net/e3EKv
  • 那个小提琴在 firefox Isaac Fife 中不起作用...我认为它在 Webkit 浏览器中有效...编辑:在 Chrome 中有效
  • 注意 windows-mobile / IE 6...
  • 在下面查看我的答案,并在调用本机选择之前尝试以本机方式聚焦输入

标签: javascript jquery windows-mobile internet-explorer-6


【解决方案1】:

有趣的变化使它对我有用。也许这是 windows mobile IE 6 中的一个错误?

考虑以下 html:

<input type="hidden" id="lid_as" name="lid" value="1">
<input type="text" id="lid" value="" class="as_done">

调用alert("document.getElementById('lid').name"); 得到消息lid。这让我觉得它正在抓取ID实际上是lid_as的第一个输入框。

当我将lid_as 输入移到lid 框下方时,select 函数可以正常工作。

所以这个 HTML 使它起作用了:

<input type="text" id="lid" value="" class="as_done">
<input type="hidden" id="lid_as" name="lid" value="1">

同样,这个问题与 WINDOWS MOBILE IE 6 有关。

【讨论】:

  • 看到这个link ...我认为这是一个已知的错误,ID和NAME可以同时使用或相互替换
  • @TobiasKrogh ,我刚刚搜索了一下,也找到了那个链接。我在那里拉了一点头发……呸。
【解决方案2】:

$() 函数返回一个 jquery 对象,而 document.getElementById 返回一个简单的 DOM 对象。

【讨论】:

    【解决方案3】:

    这可能是因为你没有提前调用 .focus()

    document.getElementById('lid').focus();
    document.getElementById('lid').select();
    

    这是包裹在 jQuerys 中的 .select()

    【讨论】:

    • 我确实尝试过这个,但它并没有改变结果。但是,我发布了一个关于为我解决了什么问题的答案。我认为这是一个移动浏览器故障。
    • 我看到Property 'select' does not exist on type 'HTMLElement'. Did you mean 'onselect'
    • @AlexanderMills 取决于您选择的 HTMLElement 类型。该方法存在于接受输入的元素上,例如HTMLInputElement.select - 也是 HTMLTextAreaElement - 但不是每个 HTMLElement 上都存在
    猜你喜欢
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2013-06-19
    相关资源
    最近更新 更多