Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery触发点击按键_Javascript_Jquery_Key_Keypress_Keyup - Fatal编程技术网

Javascript 如何使用jquery触发点击按键

Javascript 如何使用jquery触发点击按键,javascript,jquery,key,keypress,keyup,Javascript,Jquery,Key,Keypress,Keyup,我需要触发一些按键操作的点击,如果它是我的键盘上的上下键,脚本将从指定元素中删除一些类。所以按键功能正常,但触发器和上下按键功能不正常,这是我的代码,需要帮助 $('.main_search_field').keypress(function(evt){ $('.live_search_plugin').addClass('visible'); var scroll_pane = $('.scroll-pane'); scroll_pane.click();

我需要触发一些按键操作的点击,如果它是我的键盘上的上下键,脚本将从指定元素中删除一些类。所以按键功能正常,但触发器和上下按键功能不正常,这是我的代码,需要帮助

$('.main_search_field').keypress(function(evt){
    $('.live_search_plugin').addClass('visible');

    var scroll_pane = $('.scroll-pane');
        scroll_pane.click();
        scroll_pane.trigger('click');
    if (evt.keyCode == 40) {
        $('.live_search_list ul li').removeClass('active');    
    }
});  

您必须检查evt按键,如下所示:

if (evt.which == 40) {  }

使用按键时,通常在运行函数中的任何代码之前,我会检查要与哪个键交互。如果不这样做,代码将使用任何按键运行。

您必须检查evt按键,如下所示:

if (evt.which == 40) {  }
使用按键时,通常在运行函数中的任何代码之前,我会检查要与哪个键交互。如果不这样做,代码将使用任何按键运行。

.keypress()
可能不是这里的最佳解决方案,您最好使用
keydown()
keyup()
,或者使用完整版本:
.bind('keydown',handler)
(与keyup相同)

从jquery文档中:

注意:由于任何官方规范都没有涵盖keypress事件,因此使用它时遇到的实际行为可能因浏览器、浏览器版本和平台而异。

.click()
.trigger(“click”)
的简写形式,您可以很好地使用它,但是在
$('.scroll pane)
上确实有一个单击处理程序吗

您的代码(假设浏览器依赖项)将导致在
$('.scroll pane')
上触发两次单击,然后计算
if()
。但是您没有向我们展示您的
滚动窗格的单击处理程序,因此我们无法确定这是否有问题。

.keypress()
可能不是您的最佳解决方案,您最好使用
keydown()
keyup()
,或者使用完整版本:
.bind('keydown',handler)
(keyup同上)

从jquery文档中:

注意:由于任何官方规范都没有涵盖keypress事件,因此使用它时遇到的实际行为可能因浏览器、浏览器版本和平台而异。

.click()
.trigger(“click”)
的简写形式,您可以很好地使用它,但是在
$('.scroll pane)
上确实有一个单击处理程序吗


您的代码(假设浏览器依赖项)将导致在
$('.scroll pane')
上触发两次单击,然后计算
if()
。但您尚未向我们显示您的
滚动窗格的单击处理程序,因此我们无法查看是否有问题。

您可以尝试以下代码:

var e = jQuery.Event("keypress");
e.which = 50;
$(".main_search_field").trigger(e);

e.which
中,输入所需字符的代码。

您可以尝试以下代码:

var e = jQuery.Event("keypress");
e.which = 50;
$(".main_search_field").trigger(e);

e.which
中为所需字符输入代码。

为什么要触发单击?最好为click事件指定一个处理程序,然后在任何需要的地方运行该处理程序。bc我在滚动窗格中保存了列表,如果我单击它,我可以通过上下键滚动该列表,然后单击我滚动整个页面-Body我看到了!在这种情况下,您需要将焦点放在该列表上(但只能聚焦可见的输入、链接和按钮)。触发单击无效为什么要触发单击?最好为click事件指定一个处理程序,然后在任何需要的地方运行该处理程序。bc我在滚动窗格中保存了列表,如果我单击它,我可以通过上下键滚动该列表,然后单击我滚动整个页面-Body我看到了!在这种情况下,您需要将焦点放在该列表上(但只能聚焦可见的输入、链接和按钮)。触发单击将不起作用我的滚动窗格块是实时搜索,因此当我在搜索输入上键入一些单词时,滚动窗格块将显示,同时我想触发单击此列表/滚动窗格,以便通过按键向上键向下滚动此列表我的滚动窗格块是实时搜索,因此,当我在搜索输入中键入一些单词时,滚动窗格块会显示出来,同时我想触发单击此列表/滚动窗格,以便通过上下键滚动此列表