标签: javascript-events

使用javascript禁用中间点击滚动

背景:我正在创建一个让人联想到whenisgood.net的表,因为它具有click-n-drag切换表元素.当左,中,右鼠标按钮激活mousedown事件时,我想调用不同类型的切换代码.

通过使用JQuery,我有一个良好的开端.

$(".togglable").bind("contextmenu", function() {return false;});
$(".togglable").bind("mousedown", function(e){
  e.preventDefault();
  toggle(this, e);
});
Run Code Online (Sandbox Code Playgroud)

在toggle()我可以e.which用来确定点击了什么按钮的函数中.

妙语:我用e.preventDefault()希望将停止滚动的中间点击默认行为.它没有.我该怎么做才能阻止滚动动作激活?

另请参阅"使用中键单击触发onclick事件"

javascript jquery scroll javascript-events

9
推荐指数
3
解决办法
1万
查看次数

addListener在node.js中做了什么?

我试图理解node.js中addListener的目的.有人可以解释一下吗?谢谢!一个简单的例子是:

var tcp = require('tcp');
var server = tcp.createServer(function (socket) {
  socket.setEncoding("utf8");
  socket.addListener("connect", function () {
    socket.write("hello\r\n");
  });
  socket.addListener("data", function (data) {
    socket.write(data);
  });
  socket.addListener("end", function () {
    socket.write("goodbye\r\n");
    socket.end();
  });
});
server.listen(7000, "localhost");
Run Code Online (Sandbox Code Playgroud)

javascript listeners javascript-events node.js

9
推荐指数
1
解决办法
1万
查看次数

JQuery - 使用DOMNodeInserted元素

当然这个问题很简单,但我无法弄清楚这一点.

我正在使用DOMNodeInserted事件来检测何时插入新元素.

我不知道如何使用当前元素,例如获取它的父ID.

现在我有这样的功能:

document.addEventListener("DOMNodeInserted", function(event){
  var element = event.target;

  if (element.tagName == 'DIV') {
    if (element.id == 'ndiv_3-1VTSTHR') {
     alert($('#ndiv_3-1VTSTHR').parent().get(0).tagName);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

这有效,但它会给我ndiv_3-1VTSTHR元素的父级.我想知道使用JQuery的任何元素的父级.

我试过了

alert($(this).parent().get(0).tagName);
Run Code Online (Sandbox Code Playgroud)

但没有运气.

javascript jquery javascript-events

9
推荐指数
1
解决办法
2万
查看次数

使用鼠标滚轮事件在网站上滚动了多少像素?

我正在编写自定义滚动条并正在捕捉鼠标滚轮事件.我正在使用它然后调整我想要滚动的元素的scrollTop.

是否有标准数量的像素向下滚动,或者它是否因系统而异?

我在最新版本的Firefox中展示了114px:

在此输入图像描述

javascript jquery events javascript-events mouseevent

9
推荐指数
2
解决办法
9748
查看次数

为什么.fireEvent()在IE9中不起作用?

这与IE9相比令人沮丧.此代码适用于IE7/8,但不适用于9.

document.getElementById('id').fireEvent("OnChange");
Run Code Online (Sandbox Code Playgroud)

任何洞察力为什么?

javascript internet-explorer javascript-events internet-explorer-9

9
推荐指数
1
解决办法
3万
查看次数

JQuery:空输入框onclick

我不知道为什么这不起作用,但我确定这是一个非常常见的javascript.我的语法显然缺乏,我不知道为什么:

<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val() = '';} return false;" />
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript jquery onclick javascript-events

9
推荐指数
1
解决办法
5万
查看次数

用javascript显示鼠标x和y位置

第一个版本没有向我显示x和y并得到以下错误:Uncaught TypeError: Cannot read property 'pageX' of undefined第二个版本工作但编码非常相似,找不到问题.

第一版(不工作)

    <form name ="show">
        <input type="text" name="mouseXField" value="0" size="6">Mouse X Position<br>
        <input type="text" name="mouseYField" value="0" size="6">Mouse Y Position<br>
    </form>

        <script type="text/javascript">

        var mie = (navigator.appName == "Microsoft Internet Explorer") ? true : false;

        if (!mie) {

            document.captureEvents(Event.MOUSEMOVE);
            document.captureEvents(Event.MOUSEDOWN);
        }


        document.onmousemove = mousePos();
        document.onmousedown = mouseClicked();

        var mouseClick;
        var keyClicked;

        var mouseX = 0;
        var mouseY = 0;

        function mousePos (e) {

            if (!mie) {
                mouseX = e.pageX; 
                mouseY = e.pageY; …
Run Code Online (Sandbox Code Playgroud)

onmousemove javascript-events

9
推荐指数
1
解决办法
5万
查看次数

jQuery是否从已销毁的DOM内容中删除事件侦听器?

对于Ajax应用程序,我反复使用jQuery的html()方法来更新DOM容器(覆盖HTML内容,然后将元素绑定到事件侦听器).

附加到被破坏内容的事件侦听器是否被jQuery正确删除,或者存在内存泄漏的风险?(这里已经有一些相关问题,但我找不到答案).

javascript jquery memory-leaks javascript-events

9
推荐指数
1
解决办法
1114
查看次数

JQuery事件传播(返回false)

为什么单击男性单选按钮不起作用?

<div id="m_wrapper">
    <input id="m" type="radio" name="sex" value="male" />Male<br>
</div>
    <input id="f" type="radio" name="sex" value="female" />Female
    <input id="o" type="radio" name="sex" value="other" />Other


$("#m_wrapper").click(function(e){
    $("#m").prop('checked', true); 
    return false;
});
Run Code Online (Sandbox Code Playgroud)

我知道 - > return false is equivalent to call e.preventDefault() AND e.stopPropagation()

但是,当我单击单选按钮时,我有一个显式行设置,对于Male单选按钮,该属性选中为true.为什么preventDefault()将就UNDO事我设置?

顺便说一句,点击里面'm_wrapper'的任何地方都会检查单选按钮.这是有道理的.

我知道删除return false将解决问题.问题是'为什么?'

$("#m_wrapper").click(function(e){
    $("#m").prop('checked', true); 
    return false;
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>

<div id="m_wrapper">
    <input id="m" type="radio" name="sex" value="male" />Male<br>
</div>
    <input id="f" type="radio" name="sex" value="female" />Female
    <input id="o" type="radio" name="sex" value="other" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery event-handling javascript-events

9
推荐指数
1
解决办法
837
查看次数

使用Polymer.js的Colorthief.js - 查找导致onload事件的图像的主要颜色

我正在使用Polymer构建一个材料Web应用程序,我想在页面上获取图像的主要和次要颜色.我正在使用该on-click事件来触发一个函数,该函数从图像中检索数据并获取颜色.问题是该功能工作正常,除了实际参考图像 - ColorThief似乎无法"看到"图像.这是我的代码:

图片:

<img style="opacity: 0;position: absolute;top:-100px;left:-100px;" width="1" height="1" data-albumno="{{i}}" src="{{root}}{{a.image}}" on-load="{{colorthis}}">
Run Code Online (Sandbox Code Playgroud)

而colorthis功能:

Polymer('paper-albums', {
    colorthis: function(event, detail, sender) {
        var i = sender.dataset.albumno,
                cT = new ColorThief(),
                pallete = cT.getPalette(event.target, 2);

        //code to handle the pallete//
    }
});    
Run Code Online (Sandbox Code Playgroud)

我相信这event.target就是问题所在; 我也尝试过使用sender,但这也没用.我会在这里提到图像?

我也尝试在Javascript中创建图像而不将其放入DOM中,但无济于事.这似乎是一项简单的任务,但事实证明它要复杂得多(至少对我而言).可能有一种更好的方式,我错过了.

javascript events image javascript-events polymer

9
推荐指数
1
解决办法
200
查看次数