我一直在谷歌地图信息框中的事件传播方面遇到重大问题。有关示例,请参阅this SO问题。
我现在有一个新的相关问题。当我将infoBox选项enableEventPropagation设置为true(我认为我必须执行以启用.delegate()命令来处理infoBox内的元素)时,我无法将焦点放在infoBox内的文本字段上。通过简单地将enableEventPropagation设置为false(然后禁用我需要的委托),焦点完全按预期工作。有没有办法让我的代表能够专注于textareas?
请参阅此fiddle以获取示例
答案 0 :(得分:0)
您可以将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/
答案 1 :(得分:0)
我已经测试了一段时间并发现了同样的问题。 当eventPropagation = true时,禁用焦点和textarea元素的编辑功能;
尝试使用focusin / focusout禁用/启用地图滚动和拖动。 它不像你想要的那样,但如果用户在textarea中输入,你可以毫无问题地发射这些事件。