我正在编写一个 JavaScript 小书签来创建 Google Translate 的快捷方式.例如,键入 ESC 或 \ 将 clear the TextArea .现在我想添加一个快捷方式,当输入 ] 时,将切换翻译语言; \ 将发音为文本。
每个都包含在 div#gt-lang-swap
和 div#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/