javascript - 谷歌翻译中 div 的点击或鼠标弹起事件

标签 javascript dom-events

我正在编写一个 JavaScript 小书签来创建 Google Translate 的快捷方式.例如,键入 ESC\clear the TextArea .现在我想添加一个快捷方式,当输入 ] 时,将切换翻译语言; \ 将发音为文本。

每个都包含在 div#gt-lang-swapdiv#gt-src-listen 中,但我无法在控制台中触发这些事件。

我试过:

document.getElementById("gt-lang-swap").click()

但是没有任何反应。这也不起作用:

e = document.createEvent("MouseEvents")
e.initMouseEvent("mouseup", true, true, window, 1, 0, 0, 0, 0,
    false, false, false, false, 1, null)
document.getElementById('gt-src-listen').dispatchEvent(e)

有没有人有什么想法?

最佳答案

您是否尝试过 onclick 而不仅仅是 click

document.getElementById("gt-lang-swap").onclick=function(){

   console.log('clicked it');

   //Other stuff that should happen...
}

或者,尝试创建一个函数来触发事件(此函数取自 here)

function fireEvent(element,event){
    if (document.createEventObject){
       // dispatch for IE
       var evt = document.createEventObject();
       return element.fireEvent('on'+event,evt)
    }
    else{
       // dispatch for firefox + others
       var evt = document.createEvent("HTMLEvents");
       evt.initEvent(event, true, true ); // event type,bubbling,cancelable
       return !element.dispatchEvent(evt);
    }
}

其次是:

<input type="text" id="test">
<script>
   obj = document.getElementById("test");
   Event.observe(obj,'change',function(){alert('hi');});
   fireEvent(obj,'change');
</script>

应该做的伎俩...

注意:如评论和链接文章中所述,此答案的先决条件是 prototype图书馆... 因此,它可能不是(经过讨论)这个问题的理想答案。

参见 here更多

关于javascript - 谷歌翻译中 div 的点击或鼠标弹起事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13599526/

相关文章:

Javascript 函数停止被识别

javascript - 事件捕获未按预期运行

javascript - 覆盖 html5 验证

javascript - SVG 中的事件捕获

javascript - 如何在小于 O(n) 的时间内找到数组中出现次数最多的数字?

javascript - 一页中有两个 flex slider

javascript - 克隆元素并设置状态

javascript - 将多个值传递到另一页

javascript - 在 JS 中反转字符串

javascript - 从使用 JavaScript 未打开弹出窗口的窗口关闭弹出窗口