从动态控件中选择内容的脚本

script that selects content from dynamic control

本文关键字:脚本 选择 动态控件      更新时间:2023-09-26

>我有几个页面包含动态控件。这意味着我永远不知道页面上有哪些类型或有多少控件。 我需要一个脚本,在单击文本区域时从文本区域中选择文本。我以为下面的脚本可以工作,但它似乎没有按预期运行。

$(function () {
    $('input[type=textarea]').focus(function () {
        inputValue = this.value;
    });
});

<div style="display: table;">
    <div style="display: table-row">
        <div style="display: table-cell;">
            <span style="font-weight: bold">TextArea 1</span>
        </div>
    </div>
    <div style="display: table-row">
        <div style="display: table-cell;">
            <textarea id="txtTextArea1" rows="3" cols="30">

这是行不通的,因为您将事件绑定到 DOM 中不一定存在的元素。为此,您应该使用 $.on(( 来绑定它,只要元素出现在 DOM 中,它就会起作用。见 http://api.jquery.com/on/

对于您想要执行的操作:

$(function () {
    $('.container-element').on('focus', 'textarea', function () {
        var inputValue = $(this).val();
    });
});

请注意,要将事件绑定到未来的元素,您必须提供一个选择器作为 $.on(( 的参数。这假定您具有以下结构:

<div class="container-element">
  <textarea name="some_texarea"></textarea>
</div>

另请注意,文本区域本身就是一个标签,不是一种输入类型。

如果您正在谈论选择焦点文本区域中的所有文本,这里已经回答了这个问题。

如何在焦点上选择文本区域中的所有文本(在 Safari 中(