Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 .鼠标移动功能也会影响后退、前进和刷新按钮_Javascript_Jquery_Safari_Safari Extension_Safari App Extension - Fatal编程技术网

Javascript .鼠标移动功能也会影响后退、前进和刷新按钮

Javascript .鼠标移动功能也会影响后退、前进和刷新按钮,javascript,jquery,safari,safari-extension,safari-app-extension,Javascript,Jquery,Safari,Safari Extension,Safari App Extension,我对JavaScript非常陌生。这实际上是我第一次使用它。 所以我一直在尝试从浏览器地址栏重定向搜索。我正在寻找一个eventlistener或jQuery函数,它可以在用户点击地址栏上的enter键时监听,但我被告知这是不可能的。因此,我正在进行一项变通工作,即,我将以身体为目标,如果搜索来自身体,我将不会重定向它。 我曾经使用以下代码: $(document).ready(function() { $('body').keypress(function (e) {

我对JavaScript非常陌生。这实际上是我第一次使用它。 所以我一直在尝试从浏览器地址栏重定向搜索。我正在寻找一个eventlistener或jQuery函数,它可以在用户点击地址栏上的enter键时监听,但我被告知这是不可能的。因此,我正在进行一项变通工作,即,我将以身体为目标,如果搜索来自身体,我将不会重定向它。 我曾经使用以下代码:

$(document).ready(function() {
     $('body').keypress(function (e) {
         var key = e.which;
         if(key == 13)  // the enter key code
         {
            safari.extension.dispatchMessage("DoNotOverride")
         }
     });
     $("body").click(function(){
        safari.extension.dispatchMessage("DoNotOverride")
     });    
}) 
$("body").mouseleave(function(){
    safari.extension.dispatchMessage("Override")
}
这项工作在所有情况下都是完美的,除了一种情况。如果用户在不更改url的情况下在主体上进行虚拟输入,然后在地址栏上搜索,则逻辑失败。因此,我尝试添加以下代码:

$(document).ready(function() {
     $('body').keypress(function (e) {
         var key = e.which;
         if(key == 13)  // the enter key code
         {
            safari.extension.dispatchMessage("DoNotOverride")
         }
     });
     $("body").click(function(){
        safari.extension.dispatchMessage("DoNotOverride")
     });    
}) 
$("body").mouseleave(function(){
    safari.extension.dispatchMessage("Override")
}
但是,这会导致更多问题,因为后退按钮和刷新按钮也会导致覆盖,即使在我创建了多个函数(如popstate()来处理它)之后

有人能想出一个替代的.mouseleave函数,我可以在这个场景中使用吗?我不想用,完全不用鼠标。我只是在寻找一种方法来处理那些假人的咔哒声和进入身体的声音

我对JS很陌生,所以我肯定我错过了很多东西