Javascript onMouseMove+;onMouseDown调用函数

Javascript onMouseMove+;onMouseDown调用函数,javascript,onclick,substitution,onmousedown,onmousemove,Javascript,Onclick,Substitution,Onmousedown,Onmousemove,我这里有个真正的问题。我希望只有在单击对象和将鼠标移到对象上时才能调用函数。下面是一个(语法延迟)示例,以帮助您理解: <div onMouseMove+onMouseDown="function()" ... ></div> 当我将鼠标移到对象上时,不会发生任何事情,因为函数substituteFiller()无法工作。但是,当鼠标单击对象时,onMouseMove-函数将是正确的,thealfunction(),而thealfunction()现在将在鼠标移动时被调

我这里有个真正的问题。我希望只有在单击对象和将鼠标移到对象上时才能调用函数。下面是一个(语法延迟)示例,以帮助您理解:

<div onMouseMove+onMouseDown="function()" ... ></div>
当我将鼠标移到对象上时,不会发生任何事情,因为函数
substituteFiller()
无法工作。但是,当鼠标单击对象时,
onMouseMove
-函数将是正确的,
thealfunction()
,而
thealfunction()
现在将在鼠标移动时被调用

通过这种方式,我可以仅在单击对象和移动鼠标时激活/调用alfunction()。但是,它不起作用

需要说明的是:如何更改正在调用的函数的名称?如何使函数仅在单击对象并移动鼠标时调用


致以最良好的祝愿,希望你能理解!如果没有,我想是评论吧

这是我的一个网页中的一部分..请查看。希望这对你有帮助

<div id="Log_frm">
<fieldset id="fld_1">
    <!--<legend>Log In</legend>-->        
    <div id="log_l" onmouseover="dv_in();" onmouseout="dv_out();" style="background-color:#0C93D4;font-size: 15px;height: 30px;padding: 7px 32px 0px 32px;font-weight:bold; float: left;-webkit-border-top-left-radius: 5px;">
        <a  href="#" onclick="">Log In</a>
    </div>
    <div id="log_r" onmouseover="dv_out();" onmouseout="dv_in();"style="background-color: #0C93D4;font-size: 15px;font-weight:bold; float: right;height: 30px;padding: 7px 14px 0px 12px;-webkit-border-top-right-radius: 5px;">
        <a  href="#">Need Any Help</a>
    </div >   
    </fieldset>
</div>

<style>
#Log_frm {
    width: 250px;
    height: 60px;
    margin-top: 10px;
    position: absolute;
    font-size: 12px;
    float: right;
    right: 0px;
}

#Log_frm a {
    color: #fff;
    text-decoration: underline !important;
    left: auto;
    margin-right: auto;

}

#原木{
宽度:250px;
高度:60px;
边缘顶部:10px;
位置:绝对位置;
字体大小:12px;
浮动:对;
右:0px;
}
#原木{
颜色:#fff;
文字装饰:下划线!重要;
左:自动;
右边距:自动;
}


函数dv_in(){
log#l.style.backgroundColor=“#06C”;
log_r.style.backgroundColor=“#0C93D4”;
}
函数dv_out(){
log#u l.style.backgroundColor=“#0C93D4”;
log_r.style.backgroundColor=“#06C”;
}

Regds..

这是我的一个网页的一部分..请查看。这可能会对您有所帮助

<div id="Log_frm">
<fieldset id="fld_1">
    <!--<legend>Log In</legend>-->        
    <div id="log_l" onmouseover="dv_in();" onmouseout="dv_out();" style="background-color:#0C93D4;font-size: 15px;height: 30px;padding: 7px 32px 0px 32px;font-weight:bold; float: left;-webkit-border-top-left-radius: 5px;">
        <a  href="#" onclick="">Log In</a>
    </div>
    <div id="log_r" onmouseover="dv_out();" onmouseout="dv_in();"style="background-color: #0C93D4;font-size: 15px;font-weight:bold; float: right;height: 30px;padding: 7px 14px 0px 12px;-webkit-border-top-right-radius: 5px;">
        <a  href="#">Need Any Help</a>
    </div >   
    </fieldset>
</div>

<style>
#Log_frm {
    width: 250px;
    height: 60px;
    margin-top: 10px;
    position: absolute;
    font-size: 12px;
    float: right;
    right: 0px;
}

#Log_frm a {
    color: #fff;
    text-decoration: underline !important;
    left: auto;
    margin-right: auto;

}

#原木{
宽度:250px;
高度:60px;
边缘顶部:10px;
位置:绝对位置;
字体大小:12px;
浮动:对;
右:0px;
}
#原木{
颜色:#fff;
文字装饰:下划线!重要;
左:自动;
右边距:自动;
}


函数dv_in(){
log#l.style.backgroundColor=“#06C”;
log_r.style.backgroundColor=“#0C93D4”;
}
函数dv_out(){
log#u l.style.backgroundColor=“#0C93D4”;
log_r.style.backgroundColor=“#06C”;
}

Regds..

好的,您只需单独注册3个事件处理程序:

  • 鼠标落下
  • 鼠标移动
  • 鼠标移动
  • 在鼠标向下和向上时,将有一个布尔标志分别切换为true和false。然后,在鼠标移动处理程序上,需要检查标志是否为true,这意味着鼠标按钮已按下。最后,我们检查光标是否实际从其初始位置移动

    这是我的建议


    好的,您只需单独注册3个事件处理程序:

  • 鼠标落下
  • 鼠标移动
  • 鼠标移动
  • 在鼠标向下和向上时,将有一个布尔标志分别切换为true和false。然后,在鼠标移动处理程序上,需要检查标志是否为true,这意味着鼠标按钮已按下。最后,我们检查光标是否实际从其初始位置移动

    这是我的建议


    你的意思是说用户点击,而动作只有在他们移动鼠标后才会发生?是的,没错(移动/点击特定对象)!不是当用户单击时,也不是当用户只移动到上面时,而是当用户单击(按住,onMouseDown)并移动鼠标时。很像一个“拖拉”动作如果您发现答案有帮助,您可能希望将其标记为已接受。请不要犹豫,在评论中要求进一步澄清!你的意思是说用户点击,而动作只有在他们移动鼠标后才会发生?是的,没错(移动/点击特定对象)!不是当用户单击时,也不是当用户只移动到上面时,而是当用户单击(按住,onMouseDown)并移动鼠标时。很像一个“拖拉”动作如果您发现答案有帮助,您可能希望将其标记为已接受。请不要犹豫,在评论中要求进一步澄清!哇,传奇人物!那么这是否意味着不能通过使用
    document.getElementById(“…”).onMouseMove=function()来更改将从例如
    onMouseMove
    调用的函数-方式?再次非常感谢!我不知道你的意思。您可以使用
    事件
    作为参数调用任何想要的函数。或者,你可以使用魔兽世界,传奇!那么这是否意味着不能通过使用
    document.getElementById(“…”).onMouseMove=function()来更改将从例如
    onMouseMove
    调用的函数-方式?再次非常感谢!我不知道你的意思。您可以使用
    事件
    作为参数调用任何想要的函数。或者,您可以使用
    <script type="text/javascript">
            function dv_in() {  
                log_l.style.backgroundColor="#06C"; 
                log_r.style.backgroundColor="#0C93D4"; 
            }
            function dv_out() {  
                log_l.style.backgroundColor="#0C93D4"; 
                log_r.style.backgroundColor="#06C";
            }
    
    
    </script>
    
    var example = document.getElementById("example");
    var position = {
      X: 0,
      Y: 0
    };
    
    example.onmousedown = function (down) {
      downFlag = true;
      // Record click position
      position.X = down.clientX;
      position.Y = down.clientY;
    };
    
    example.onmouseup = function (up) {
      downFlag = false;
    };
    
    example.onmousemove = function (move) {
      if (downFlag) {
        if (position.X !== move.clientX || position.Y !== move.clientY) {
          // Do stuff here
        }
      }
    };