【问题标题】:textarea focus/event propagation issues inside an infobox信息框中的文本区域焦点/事件传播问题
【发布时间】:2012-03-23 19:05:50
【问题描述】:

我在谷歌地图信息框中的事件传播方面遇到了重大问题。有关示例,请参阅this SO 问题。

我现在有一个新的相关问题。当我将 infoBox 选项 enableEventPropagation 设置为 true 时(我认为我必须这样做才能启用 .delegate() 命令才能处理 infoBox 内的元素),然后我无法专注于 infoBox 内的文本字段.通过简单地将 enableEventPropagation 设置为 false (然后禁用我需要的委托),焦点完全按预期工作。有没有办法让我的代表在不将注意力集中在 textareas 上的情况下启用?

请参阅此fiddle 以获取示例

【问题讨论】:

    标签: javascript jquery google-maps google-maps-api-3


    【解决方案1】:

    您可以将 onclick 事件添加到您的 textarea 并为其设置焦点。只需添加

    onClick="this.focus()"
    

    像这样到textarea标签

    function data() {
    var HTML = "<div id='ib' class='infobox_test'>" +
                    "<textarea maxlength='249' onClick=\"this.focus()\"></textarea>" +
               "</div>";
    return HTML;
    

    }

    在这里找到的小提琴示例http://jsfiddle.net/pimlinders/ZJSJ3/

    【讨论】:

      【解决方案2】:

      我已经测试了一段时间,发现了同样的问题。 eventPropagation = true 时禁用 textarea 元素的焦点和编辑功能;

      尝试使用 focusin/focusout 来禁用/启用地图滚动和拖动。 它不像您想要的那样,但如果用户在文本区域中输入,您可以毫无问题地触发这些事件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-10
        • 1970-01-01
        相关资源
        最近更新 更多