我正在尝试使用一些BB-Code控件来增强HTML textarea,这些控件只有在textarea具有焦点时才可用。所需的行为如下所示:
图片1 - 焦点事件之前: before focus event http://gaedekenet.de/tmp/beforeInit.jpg
图片2 - 焦点事件后(正确行为): correct behaviour http://gaedekenet.de/tmp/afterInit.jpg
通过单击textarea的LOWER部分来完成上述正确的行为 - 其中不会出现任何按钮。但只要用户点击textarea的左上角部分,就会发生以下情况:
图片3 - 焦点事件后(行为不正确): erroneous behaviour http://gaedekenet.de/tmp/afterInit_error.jpg
在我看来,不仅仅是"焦点"事件被触发但也是"点击"," mousedown"," mouseup"等
我现在需要做的是在我自己的代码(焦点部分)中停止事件传播,以便没有事件可以到达BB Code插件(这是第三方插件)。我目前的方法如下:
$(#myText)
.focus(function(e){
e.stopPropagation().stopImmediatePropagation();
// initialize and show the bb code buttons here
})
.click(function(e){
e.stopPropagation().stopImmediatePropagation();
})
.mouseup(function(e){
e.stopPropagation().stopImmediatePropagation();
})
.mousedown(function(e){
e.stopPropagation().stopImmediatePropagation();
});
我错过了什么?