QRTEngine - 使用点击事件模拟按键

时间:2016-02-04 11:07:58

标签: javascript jquery qualtrics

这里没有很多文档,但我希望有人可以帮助我。

我使用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)将不胜感激。

由于

1 个答案:

答案 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事件不受信任并且不会插入角色(默认操作)。"

查看上面提到的链接以寻找潜在的解决方案。