text信息框内的区域焦点/事件传播问题

textarea focus/event propagation issues inside an infobox

本文关键字:事件 传播 问题 焦点 区域 信息 text      更新时间:2023-09-26

我在谷歌地图信息框内的事件传播方面遇到了重大问题。请参阅此SO问题以获取示例。

我现在有一个新的相关问题。当我将infoBox选项enableEventPropagation设置为true时(我认为我必须这样做才能启用.delete()命令来处理infoBox内部的元素),那么我就无法将注意力集中在infoBox内的文本字段上。只需将enableEventPropagation设置为false(然后禁用我需要的委托),焦点就可以完全按预期工作。有没有一种方法可以让我的代表们在不把注意力集中在文本区域的情况下?

请参阅此fiddle以获取的示例

您可以将onclick事件添加到文本区域并设置焦点。只需添加

onClick="this.focus()"

到文本区域标签,就像一样

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/

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

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