text信息框内的区域焦点/事件传播问题
textarea focus/event propagation issues inside an infobox
我在谷歌地图信息框内的事件传播方面遇到了重大问题。请参阅此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来禁用/启用地图滚动和拖动。这不是你想要的,但如果用户在文本区域输入,你可以毫无问题地触发这些事件。
相关文章:
- 停止jquery中元素上的事件传播
- 停止点击事件传播
- 为什么我的按钮正在将事件传播到其父项
- 我可以停止某个函数上的事件传播吗
- AngularJS:如何通过点击停止事件传播
- 避免通过指令中的事件传播进行自切换
- 棱角分明如何防止点击事件传播到日期选取器元素
- 停止自动回发复选框的事件传播
- jQuery 事件传播无法按预期工作
- 用于停止事件传播的 jQuery UI 滑块
- 在 Google Maps API v3 中有效启用事件传播
- 停止传单事件传播
- 角度/离子点击事件传播
- setAbstractView() 可防止鼠标关闭事件传播到 KmlFeatures
- Phaser JS如何停止事件从textButton.events.onInputDown事件传播(触发)到game.i
- 仅追加一次 UI 元素,避免事件传播
- JavaScript + 事件传播
- 在表行单击时停止 JS 事件传播
- 停止特定处理程序的事件传播
- 无法停止 AngularJS 中路由控制器之间的事件传播