精华内容
下载资源
问答
  • 有一次修改智联招聘上面的学历信息,闲着没事想在控制台通过代码控制修改,结果发现死活无法触发选择学历的下拉框的点击事件,于是查看了下事件来源,最后发现是mousedown事件,太狡猾了。 于是淡定的$().mousedown...

    有一次修改智联招聘上面的学历信息,闲着没事想在控制台通过代码控制修改,结果发现死活无法触发选择学历的下拉框的点击事件,于是查看了下事件来源,最后发现是mousedown事件,太狡猾了。
    于是淡定的$().mousedown(),居然还不生效?最后终于找到了一种触发原生mousedown事件的方法:

    var e = document.createEvent("MouseEvents");
    	e.initEvent("mousedown", true, true);//这里的mousedown可以换成你想触发的行为
    	dom.dispatchEvent(e);//这里的dom可以换成你想触发行为的DOM结点
    

    完美,居然就这么实现了
    js中添加一个主动触发事件的方法有dispatch。该方法能模拟用户行为,如点击(click)操作等。 标准使用dispatchEvent方法,IE6/7/8则使用fireEvent方法。

    dispatchEvent() 方法给节点分派一个合成事件。

    语法如下:
    dispatchEvent(eventObj)
    eventObj 参数是一个描述事件的 ActionScript 对象
    在调用 dispatchEvent() 方法之前,必须在代码中对其进行声明,此外,还必须创建一个事件对象以传递给 dispatchEvent()。该事件对象包含侦听器可用来处理该事件的有关信息。

    使用时具体流程如下:

    creatEvent-------initEvent--------dispatchEvent
    最后总结了下兼容ie的写法:

    function customTrigger(el ,type){
            try{
                if(el.dispatchEvent){
                    var evt = document.createEvent('Event');
                    evt.initEvent(type,true,true);
                    el.dispatchEvent(evt);
                }else if(el.fireEvent){
                    el.fireEvent('on'+type);
                }
            }catch(e){};
    };
    

    最后还有个思路,到底怎么防止别人通过代码触发我的点击事件呢?
    首先可以写成mousedown事件,其次在事件里面作判断,判断当前鼠标的位置是否在事件绑定元素的范围内,如果不在,则不触发事件~
    这样,还有办法触发事件后的逻辑么?

    展开全文
  • 但有时候,既希望GridView可以进行编译,又希望可以触发【单元格的点击事件】,比如有需求要求在某列单元格上单击可以弹出窗体,选择数据并返回到GridView上,并且允许手动在GridView上修改或者输入,那

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking

    GridView处于可编辑状态,左键点击默认为“进入编辑”。

    将GridView的OptionsColumn.AllowEdit设置为false后左键可触发RowCellClick。
    但有时候,既希望GridView可以进行编译,又希望可以触发【单元格的点击事件】,比如有需求要求在某列单元格上单击可以弹出窗体,选择数据并返回到GridView上,并且允许手动在GridView上修改或者输入,那应该怎么处理呢?

    用GridView的MouseDown事件,具体代码如下:

    private void gViewActPara_MouseDown(object sender, MouseEventArgs e)
            {
                GridHitInfo hint = gViewActPara.CalcHitInfo(e.X, e.Y);
                if (gViewActPara.RowCount == 0 || /*记录数大于0*/
                        !hint.InRowCell /*有效的单元格*/||
                    e.Button != MouseButtons.Left /*鼠标左键*/||
                        e.Clicks != 1  /*单击*/             
                    )
                {
                    return;
                }        
                if (hint.Column.FieldName == "需要弹出窗体的列名及该列的FieldName")
                {
                    //强转当前行(避免鼠标点击的行与焦点行FocusedRowHandle不一致,鼠标点击时,焦点行FocusedRowHandle还未转换)
                    gViewActPara.FocusedRowHandle = hint.RowHandle;
    				//打开窗体的代码及处理略
    				//如果获取到打开窗体的值之后,需要更新到GridView上使用
    				// gViewActPara.SetRowCellValue(hint.RowHandle, "需要接受值列的FieldName",从窗体获取到的值);
                    //使用SetRowCellValue会触发gViewActPara_CellValueChanged事件
                }
            }

    小注:

    不管这一列OptionsColumn.AllowEdit是不是false,只要这一列有MouseDown事件,就不会执行该列的RowCellClick事件。

    展开全文
  • 在我们使用Winform窗体的时候,由于...可以在窗体的上面放一个Panel控件,使用MouseDown事件代码放在Form1中 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")]

    在我们使用Winform窗体的时候,由于不喜欢WinForm的边框样式的时候,希望用字自己的设置的样式来进行美观的渲染,这样的话就没有办法像Winform那样拖动窗体,在这里我发现一个好东西分享给大家

    可以在窗体的上面放一个Panel控件,使用MouseDown事件
    将代码放在Form1中

        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
    
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
    
        private const int VM_NCLBUTTONDOWN = 0XA1;//定义鼠标左键按下
        private const int HTCAPTION = 2;
    

    在Panel中添加一下Panel_MouseDown中的代码,就可以随意的拖动的窗口了
    private void Panel_MouseDown(object sender, MouseEventArgs e)
    {
    //为当前应用程序释放鼠标捕获
    ReleaseCapture();
    //发送消息 让系统误以为在标题栏上按下鼠标
    SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);
    }

    展开全文
  • 开发中遇到了Grid的MouseDown事件无法响应,上网查原因是背景色没有设置。将Grid的Background设置为任意color即解决问题。 参考博客:http://www.cnblogs.com/wpdev/archive/2011/08/10/2133631.html 转载于:...

    开发中遇到了Grid的MouseDown事件无法响应,上网查原因是背景色没有设置。将Grid的Background设置为任意color即解决问题。

    参考博客:http://www.cnblogs.com/wpdev/archive/2011/08/10/2133631.html

    转载于:https://www.cnblogs.com/MarcLiu/p/3668960.html

    展开全文
  • 我的问题是我无法取消触发touchstart后触发的mousedown事件.此问题特定于Android的本机浏览器.Chrome和Safari都在Android和iOS(onMenuInteraction)中成功执行下面的方法.我的问题似乎仅限于Android的原生浏览器(对我...
  • 切换图片 JQuery鼠标事件 小米官网切换图片效果 轮播效果使用的swiper插件(https://www.swiper.com.cn/ ) 图片素材源于小米官网 javascript代码 //轮播 var swiper4 = new Swiper('.swiper-container4',...
  • 查看项目代码代码如下: <ul> <li v-for="(item, index) in keys" :key="index" v-html="item.name" @mousedown="handleKeyboardClick(item.val, index)" @touchstart="handleKey
  • 首先click是mousedown 和mouseup的结合,只有两个事件都发生了才会产生click事件,我在做button移动的时候,遇到了移动事件mousemove过后就会发生click事件,但是我只是想移动button,只发生mousemove事件 代码如下:...
  • 按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷! 不过WPF提供了必要的方法。 1)使用相应的Preview事件。须注意隧道类型的...
  • private void button1_MouseDown(object sender, MouseEventArgs e) { ...这些是代码为什么在formload的时候还没有执行第二个if就直接弹出程序了。而在在、运行时候右键点击也可以触发第二个事件
  • 处理MouseDown事件并确定单击位置和两次单击间的时间间隔,方法是使用适当的SystemInformation属性和Timer组件。根据发生的是单击还是双击,执行适当的操作。下面的代码示例阐释这是如何实现的。 using System;...
  • javascript: mouseove mousedown事件

    千次阅读 2011-08-19 13:15:50
    先看一张图:(也可以看 http://developer.apple.com/safaridemos/showcase/typography/#orange) 左边有滑动模块,是不是很酷呢,确实如此。经过分析APPLE的代码,明白了它是如何实现的 重点: 1. 外
  • mousedown 的时候创建拖动对象,mouseup的时候释放对象,原理弄清楚了其实很简单。 简单拖拽实现代码: 简单拖拽实现 *{margin:0;padding:0;} #box{ margin:20px auto; position:relative; width:400px; height...
  • 按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷! 不过WPF提供了必要的方法。 1)使用相应的Preview事件。须注意隧道类型的...
  • 大家都知道,鼠标点击的整个事件的执行流程是:mousedown -> mouseup -> click ,而拖放的整个流程是:mousedown -> mousemove -> mouseup -...
  • 本来一般碰到这种问题,都是直接找找看下有没有类似的插件,毕竟比较省心,但是缺点是,需要小小的看下代码,学下api。 但是找了一圈,弹出框有不少优秀的开源插件,但是右键菜单还真是没找到合适的啊,找到几个,用...
  • 然而当option中没有元素时,就不希望弹出下拉(比如在某些浏览器中,点击select会默认出一个罩层效果,而此时没有...实际这个是mousedown事件控制的。  这里就说明下click和mousedown、mouseup。规范要求,只有在...
  •  e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  elem[0].dispatchEvent(e);  } else if (element.fireEvent) {  elem[0].fireEvent(...
  • unit Unit1; interface uses Windows, Messages, SysUtils, ... ShowMessage('这是Delphi事件'); //被阻挡,但没有阻挡右键 end; end. 转载于:https://www.cnblogs.com/del/archive/2007/12/08/987899.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,469
精华内容 11,387
关键字:

mousedown事件代码