这里没有很多文档,但我希望有人可以帮助我。
我使用http://qrtengine.com/上的人员为Qualtrics(http://www.qualtrics.com/)提供的QRTEngine - 一种调查工具。
我设法建立了一致同意/不同意。调查非常容易(用户按下键' z'表示不同意,' m'同意)
问题是我需要这个也可以在移动设备上工作。现在我尝试了以下内容:
var j = jQuery.noConflict();
(function( j ) {
j(function() {
// More code using $ as alias to jQuery
var e = j.Event("keyup");
e.which = 77; // # Some key code value
j( ".agree" ).bind( "click", function( event ) {
j(this).trigger(e);
alert(e.which);
});
});
})(j);
执行警报但似乎没有模拟按键。我不认为我的代码有任何问题,但我想知道我是否遗漏了与我使用的QRTEngine相关的内容。
任何帮助(ANY)将不胜感激。
由于
答案 0 :(得分:1)
$是Qualtrics中Prototype框架的别名。如果你想为jQuery使用别名,你需要使它像$ j:
var $j = jQuery.noConflict();
编辑:也许这是你的问题......来自http://bililite.com/blog/2015/01/14/rethinking-fn-sendkeys/:
"现代浏览器不允许合成事件(使用dispatchEvent触发)执行其默认操作(意味着如果事件由用户操作触发将发生的操作)。 Event对象有一个名为isTrusted的只读字段,除了未经修改的用户启动事件外,该字段为false。这些被称为"受信任的事件",我理解正当理由,但它们走得太远了。这使得无法实现虚拟键盘,因为触发keydown或keypress事件不受信任并且不会插入角色(默认操作)。"
查看上面提到的链接以寻找潜在的解决方案。