很抱歉我的英语不好。
您好,我在 JQuery 中触发自定义事件时遇到了一些问题。我的问题是:
- 我尝试使用
content_scripts
API 开发 Google chrome 扩展。 - 如果我在 textArea 上按 Enter 键,我的目标网站将发布评论。
- 我需要开发一个按钮,如果我点击它会触发相同的事件。
我尝试使用http://jsfiddle.net/编辑器来模拟同样的事情,如下所示:
$(document).ready(function(){
// this what the site do when press enter key on textarea , the submit form with ajax to publish a comment.
$("textarea").bind("keydown",function(e){
if(e.which == 13){
alert("enter pressed");
}
});
// this what i need to do, firing the same event when i click on my button which i added by my extension.
$("button").click(function(){
var e = $.Event("keydown");
e.which = 13;
$("textarea").trigger(e);
});
});
上面的代码运行没有任何问题,但是当在目标网站上应用这个模拟时没有任何动作发生。我想如果网站使用 keydown、keyup 或 keypress 事件来发布评论,所以我尝试使用所有事件类型,但我所有的尝试都失败了。我能做些什么来触发相同的原始事件,例如实际按下回车键提交评论?