Tag: mouseevent

选择中的选项上的mousedown事件在IE中不起作用,有没有解决方法?

以下代码段是为了避免在多选框中按住Ctrl键单击 但它在IE 8中不起作用。 有没有什么工作可以在IE和其他IE版本中实现相同的目标? $(‘option’).mousedown(function(e) { e.preventDefault(); $(this).prop(‘selected’, !$(this).prop(‘selected’)); return false; });

在mousedown元素之外捕获mouseup的最佳方法

$(‘#clickableElement’).bind({ mousedown: function(e) { console.log(‘mousedown on element’); $(document).bind(‘mouseup’,function(e){ console.log(‘mouseup caught’); //Do some magic here $(this).unbind(‘mouseup’); }); }, mouseup:function(e) { //mouseup within element, no use here. } }); 我正试图从一个元素内部或外部释放的mousedown捕获mouseup事件。 这段代码几乎可以工作,但问题是unbind(’mouseup’)解除了附加到mouseup事件(jqueryui)的其他脚本的绑定。 如果未设置unbind(),则代码将在mouseup事件中堆叠并调用x次,其中x是您已经拥有的次数。 路线1:是否有某种自我毁灭function可以自我调用并摧毁? 路由2:在插入代码之前复制/克隆mouseup函数的任何方法,然后取消绑定,然后设置为previous? 理想情况下,我想保持这个代码结构的整洁,因为我有很多可点击的元素,所以将document.mouseup绑定到element.mousedown之外会很麻烦。 这是小提琴,我忘了添加http://jsfiddle.net/9gFNk/

mouseenter mouseleave和一个选择

http://jsfiddle.net/msNhr/ 当您查看“aaaaa”时,会显示一个叠加层,当您尝试从叠加层中的选择中选择某些内容时。 我怎么做到这一点? 只有在保留实际覆盖区域时才应关闭叠加层。 谢谢!

检测鼠标中键点击事件jQuery

当用户点击鼠标左键或中间的鼠标按钮时,我想将jQuery-UI对话框显示为弹出窗口。 它适用于左键单击(我得到警告框,然后弹出窗口),但不适用于中间(既没有警报框也没有弹出窗口)。 我错过了什么? $(‘a.external’).live(‘click’, function(e){ if( e.which <= 2 ) { e.preventDefault(); alert ("inside if"); } popUp.start(this); });

jquery菜单盘旋

我有一个菜单,当我鼠标hover在div上时它会显示,鼠标输出时它会淡出。 问题是,如果你翻过菜单的任何一个孩子,菜单就会消失(因为从技术上来说,如果你超过其中一个孩子,那么你就不会超过父母)是否有办法让孩子们翻身不会算作mouseout? 这是我的代码: http : //jsfiddle.net/32bLg/

在CTRL + MOUSEWHEEL事件

我被要求为我们的页面网站实现ctrl + mousewheel事件,以便在用户放大或缩小时更改图像偏移。 我发现这个旧答案使用javascript覆盖浏览器CTRL +(WHEEL)SCROLL,我试图做同样的事情。 我为实现下载了jQuery鼠标滚轮插件 ,这是我的代码: var isCtrl = false; $(document).on(‘keydown keyup’, function(e) { if (e.which === 17) { isCtrl = e.type === ‘keydown’ ? true : false; } }).on(‘mousewheel’, function(e, delta) { // `delta` will be the distance that the page would have scrolled; // might be useful for increasing the SVG size, […]

为什么中间点击在几种情况下不会触发“点击”?

这是我所看到的行为的JSFiddle ,与Chrome和FF中的中间点击和click事件有关。 ‘click’有点实际 方法1 :将click处理程序直接绑定到元素,然后单击鼠标中键将触发Chrome中的处理程序,但不会触发FF。 $(‘div a’).on(‘click’, function(ev) { // middle click triggers this handler }); 方法2 :将委派的click处理程序绑定到包含一个或多个a的div 。 中键单击不会在Chrome或FF中触发此处理程序。 $(‘div’).on(‘click’, ‘a’, function(ev) { // middle click doesn’t trigger this handler }); 如果div开始为空并且a元素稍后通过AJAX调用填充,或者作为某些用户输入的结果,则此方法非常有价值。 ‘mouseup’有效 使用mouseup而不是click会导致方法1和2在两个浏览器中都有效。 // Approach 1 w/ mouseup $(‘div a’).on(‘mouseup’, function(ev) { // middle click **does** trigger this handler in Chrome and FF […]

如何在jsTree中双击自定义行为?

我正在使用jsTree jQuery插件,并希望在用户双击节点时执行代码。 我似乎无法让它发挥作用。 我在ondblclk事件上找到了一些文档,但它没有触发。 browser.jstree( { plugins: [“themes”, “json_data”, “ui”, “cookies”], callback: { ondblclk: function (node, tree) { if (!thisReportBrowserthis._isFoldersOnly) { var f = node; } } } } ); 如何使用jstree处理双击事件?

停止从单击处理程序传播mousedown / mouseup

这是一个DEMO 。 我有两个divs ,一个内部和一个外部: 使用一些CSS,你可以看到哪个是: #outer { width: 250px; height: 250px; padding: 50px; background: yellow; } #inner { width: 250px; height: 250px; background: blue; } 我尝试停止在click处理程序中传播mousedown和mouseup事件,如下所示: $(‘#inner’).on(‘click’, function(e) { e.stopPropagation(); $(this).css({‘background’: ‘green’}); return false; }); $(‘#outer’).on(‘mousedown’, function(e) { $(this).css({‘background’: ‘green’}); }); $(‘#outer’).on(‘mouseup’, function(e) { $(this).css({‘background’: ‘yellow’}); }); 这似乎不可能。 什么工作是从其他mousedown和mouseup调用中调用.stopPropagation ,如此处所示( 另一个DEMO) : $(‘#inner’).on(‘mousedown’, function(e) { […]

jQuery鼠标方向插件

对不起,伙计们,这不仅仅是一个问题,而是一个答案。 我见过很多人问如何使用js / jQuery识别定向鼠标移动,这是我今天下午给他们写的一个插件。 jQuery提供对标准JS鼠标事件以及一些自定义事件的支持。 在jQuery中,很容易捕获鼠标点是否已经进入对象的边界或者是否离开(mouseenter,mouseleave)或者发生了其他事情(如click,dblclick等)。 但如果您需要捕捉鼠标的方向,则会遇到麻烦。 如果有一个插件可以在任何可以监听并绑定监听程序例程的元素上触发自定义鼠标方向事件,那将是非常棒的。 我今天下午写了这个小插件(jQuery MouseDirection Plugin)来触发DOM结构中任何可见元素的八个自定义事件。 这是源代码 /** * jQuery Mouse Direction Plugin * @version: 1.1 * @author Hasin Hayder [hasin@leevio.com | http://hasin.me] */ (function ($) { var options = {}; var oldx = 0; var oldy = 0; var direction=””; $.mousedirection = function (opts) { var defaults = { […]