Jquery,触发单击或输入

时间:2015-04-06 14:50:14

标签: javascript jquery google-chrome-extension

我正在尝试使用jquery提交字段,通常在页面中您可以单击提交按钮或在字段中按Enter键。 我是用chrome脚本做的。 现在,如果我输入:

$('#myButton').click()

在控制台中,这实际上工作正常,但是当我从脚本函数调用相同的代码时,它不起作用。 我也试过用这个:

var e = jQuery.Event("keydown");
e.which = 50; 
e.keyCode = 50;
$("#myButotn").trigger(e);

但仍然没有结果。

具体来说,我愿意点击的按钮有一个onClick =“submitFunction()”

3 个答案:

答案 0 :(得分:2)

这是触发按键点击的更好方法。

$(window).keydown(function (e) {
    if ( e.which === 50 ) {   
         $("#myButton").click();     
    }
});

演示:http://jsfiddle.net/bc7r3vq1/1/

顺便说一下,键码50是数字2

答案 1 :(得分:0)

现在,我找到了一个解决方案,但我不确定哪个是问题所在。 首先,我开始使用tampermonkeys,从那里我用

$('#textField').submit();

它工作正常。

我现在要检查是否必须使用此方法,或者它只是与我的扩展程序相关的内容。

编辑:只有当我使用篡改密钥时它才有效..

答案 2 :(得分:-1)

我认为您的问题来自浏览器政策,阻止您的代码伪造用户操作。 Chrome只允许您伪造用户操作,如果它直接从另一个用户操作处理程序调用,如实际用户点击keydown。在点击处理程序中尝试使用您的代码,如果它因为此策略块而起作用。

相关问题