vs2013中OnMouseMove怎么使用

vs2013中OnMouseMove怎么使用

本文目录

  • vs2013中OnMouseMove怎么使用
  • JS事件里,window.onmousemove 和 document.onmousemove 有什么区别
  • 网页制作中onmouseup onmousemove是什么意思
  • js onmousemove和houver 的区别

vs2013中OnMouseMove怎么使用


按照C#的编程规范,发生XXX事件的时候,通常会在OnXXX里写起实现代码,并且可以重写OnXXX来自定义控件。举例来说,微软在开发Button控件的时候,是在OnMouseMove里处理MouseMove事件的。重写如下,你可以自己试试:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Button b = new Button();
            b.Location = new Point(10, 10);
            b.Text = “button1“;
            this.Controls.Add(b);
            MyButton mb = new MyButton();
            mb.Location = new Point(10, 50);
            mb.Text = “myButton1“;
            this.Controls.Add(mb);
        }
    }
    public class MyButton : Button
    {
        protected override void OnMouseMove(MouseEventArgs mevent)
        {
            this.Text = mevent.Location.ToString();
            base.OnMouseMove(mevent);
        }
    }

JS事件里,window.onmousemove 和 document.onmousemove 有什么区别


document 是window的属性=窗口下的页面。

就效果来说 这两个是一样的,但!尽量不使用window对象来绑定这种事件。

因为你的目的是监听鼠标在页面上移动,document代表当前的文档(页面)。所以就语义来讲要使用document。你监听的是页面事件而不是窗体事件,像改变location这种才需要用到window对象。

试验一下这段代码。结果应该是先alert 2 然后是alert 1。

window.onclick=function(){
alert(1);
}
document.onclick = function(){
alert(2);
}

也就是说document在window的上一层。最底层是window对象可以理解为dom的根对象。

如果你阻止事件冒泡 也就是如下代码,你会发现 不会出现alert 1了,也就是说事件在document层阻止了向父级元素传递。

window.onclick=function(){
alert(1);
}
document.onclick = function(e){
e.stopPropagation()
alert(2);
}

~


网页制作中onmouseup onmousemove是什么意思


onMouseover当鼠标经过的时候,触发 = 后面的脚本函数onMouseout 当鼠标离开 。。onMouseUP 当鼠标 按下又抬起。。。onmousemove 当鼠标移动。。onmousedown 当鼠标按下时。。

js onmousemove和houver 的区别


onmousemove是当鼠标在元素上面移动时触发的事件,hover则是当鼠标放在元素上(不管有没有移动)时元素的样式设定。前者是js,后者是css。hover只能设定元素的样式(大小、颜色、边框、字体等),而onmouseover可以运行几乎任何脚本代码,两者不可同日而语。如果你只是想当鼠标移到元素上时改变其属性,建议用hover,这样最简单、效率最高。如果是需要css无法胜任的复杂效果,则用onmousemove(但建议最好改用onmouseover与onmouseout的组合,原因自己去百度)。

推荐阅读