我有一个简单的类似 CodeMirror 的设置,其中父 div(在 a 中是透明<textarea>
的<label>
)覆盖了一个<pre>
可以突出显示的元素等。我希望能够将鼠标悬停在 中的元素上<pre>
,但也能够单击<textarea>
并编辑它的内容。即 - 默认情况下,事件应该通过<label>
并应用于输出<pre>
。
有没有办法事后触发事件?具体来说,触发一个 jQuery事件对象,而不仅仅是一个事件?
在这种情况下,如果文本区域没有位于特定位置,则触发对文本区域的单击将毫无用处。我宁愿不提取 mouseEvent 的 x 和 y 位置,并以这种方式映射到 textarea。
我想做这样的事情:
output.bind('mousedown', function(event) {
event.preventDefault();
label.css('pointer-events', 'auto');
//this isn't real
event.target = label;
event.apply();
});
label.bind('mouseup', function(event) {
label.css('pointer-events', 'none')
});
如果你能想出一些兼容 IE10 的东西(没有指针事件)那就更好了。
编辑:有label.trigger(event)
,但没有正确反映用例......
如果有一个与event.preventDefault()
- 类似的功能event.triggerDefault()
,那就是我想要触发的功能。