0

我有一个简单的类似 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(),那就是我想要触发的功能。

4

0 回答 0