0

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

$(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">
4

2 回答 2

0

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

如何在焦点上选择textarea中的所有文本(在safari中)

于 2013-10-11T15:58:38.340 回答
0

这是行不通的,因为您将一个事件绑定到一个不一定存在于 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>

另请注意,textarea 本身就是一个标签,而不是一种输入。

于 2013-10-11T16:02:58.547 回答