标签: javascript-events

需要点击目标的最终父母

这是一个关于用jQuery绑定点击事件的问题,我正试图弄清楚.

假设我有一个块元素,我绑定了一个点击,里面有一个段落标记.

<div id="testClick" style="width:200px; height:100px'>
     <p>test click</p>
</div>
Run Code Online (Sandbox Code Playgroud)

然后我将一个点击绑定到div:

$('#testClick').bind('click', function(e){ 
    //with parent div (via e.target), do something 
});
Run Code Online (Sandbox Code Playgroud)

现在,如果我点击p标签内的文本,e.target = p元素,如果我点击div(周围,而不是文本)e.target = div元素.所以e.target =点击的对象 - 即事件也绑定到指定元素的任何子节点.

这是可以预料的,但我需要对父div进行操作.并且使用e.target不是获取div引用的可靠方法,因为依赖于div中的位置,e.target返回不同的元素.如果我使用e.target.parent来获取对div的引用,则在文本周围的div中发生单击时会失败.

有没有简单的方法让e.target始终只返回点击最初绑定的确切元素?

(例如,在actionScript中有一个属性"mouseChildren",可以防止事件在绑定元素的子节点上触发)

(考虑以上所有伪代码)

javascript jquery javascript-events

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

输入框中的向上/向下箭头不做任何事情

<input>在聚焦时,如何使元素对按向上箭头(keyCode 38)或向下箭头(keyCode 40)没有反应?我正在为项目使用jQuery,但是如果这更容易的话,对于在原始JS中编写它没有任何疑虑.

谢谢!

javascript jquery javascript-events

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

如何在slice()之后使用jquery live()?

为什么live()以后不能工作slice()?
我在这做错了什么?

$('.object').slice(1).live('mouseenter', function() {
    alert();
});
Run Code Online (Sandbox Code Playgroud)

...

<div class="object">
    1
    <div class="object">
        2
        <div class="object">
            3
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

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

我为什么要解开Javascript事件?

任何人都可以解释为什么我应该取消绑定或分离Javascript事件?

javascript event-handling javascript-events unbind

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

将JavaScript/Ajax放在文档中的最佳位置在哪里?

对愚蠢的问题表示歉意,但我需要专家澄清.

出了三块地的投入使用Javascript, ,head,$(document).ready或者body,其中将最好的地方是把一个使用了大量的一些Ajax $GET的功能呢?

例如,我使用的是一个调用的JavaScript函数,execute_send()但我不确定哪个地方最适合放置它.以下是错误:

Problem at line 67 character 22: 'execute_send' was used before it was defined. function execute_send() {

此外,展示位置如何影响页面加载时间?

html javascript ajax jquery javascript-events

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

如何在JS事件监听器中获得正确的按键语言和案例?

我有以下jQuery事件监听器来获取在文本框中按下的键:

$("#theInput").keyup(function (e) {
    var charCode = e.keyCode || e.which;
    alert(charCode);
    /* rest of the code */
});
Run Code Online (Sandbox Code Playgroud)

我的问题是如何准确地获取键入的字母的代码.例如,如果我按下'a'键,它将提醒'65' - 无论是"a"还是"A".如果我将输入语言切换为外语(例如日语,中文,泰语)并按"a"键,它仍会返回"65"而不是代码,以便让我知道外来字符.

有没有办法解决这个问题,所以它给出了正确的语言和字母大小写?

javascript unicode jquery javascript-events character-encoding

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

基于文本字段值重定向用户输入密钥

我正在尝试模拟某些软件,我需要用户能够将某些文本输入到字段中,然后根据该文本将它们指向另一个页面.我已经创建了下面的代码,但似乎没有用.我正在使用IE 7,它似乎只是刷新页面,它实际上不会去新的位置.谁知道为什么?使用jquery 1.4.4 min *根据评论更新*仍然无法正常工作

<form id="TEST"><input type="text" id="command" tabindex="1"></form>


<script type="text/javascript">
$(document).ready(function() {
$('#command').keypress(function(e) {
    if (e.which === 13) {
        if ($('#command').value === "AI") {
            window.location = "http://www.mozilla.org";
        }
        if ($('#command').value === "BRI") {
            window.location = "http://www.google.com";
        }
        }
    });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

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

通过java脚本禁用按键事件

我需要使用javascript或任何其他方法禁用我的网站中的shift keypress事件.以下是我的代码:

        $(document).ready(function() {
        document.onkeydown = checkKeycode
        function checkKeycode(e) {
            var keycode;
            if (window.event) {
                keycode = window.event.keyCode;
            }
            else if (e) {
                keycode = e.which;
            }
            //alert(keycode);
            if (keycode == 16) {
                alert(keycode);
                return false;
            }
          }
       });
Run Code Online (Sandbox Code Playgroud)

javascript asp.net javascript-events

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

在IE8中,jQuery mousedown事件没有为窗口触发

我在使用IE8中的jQuery挂钩窗口的mousedown事件时遇到了问题.我没有得到任何错误,但事件似乎没有被解雇.它在IE9和我尝试过的所有其他浏览器中都有效.这是我的代码:

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function test(e) {
            alert('test');
        }

        $(document).ready(function () {
            $(window).mousedown(test);
        });     
    </script>   
</head>
<body>   
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events internet-explorer-8

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

Backbone动态创建'el'不绑定事件

像许多其他用户一样,我有'el'和事件的问题.在我的情况下,我已经测试了多个解决方案,包括使用默认的el(只是'')设置tagName,使用jQuery选择器将el设置为选择器,并为DOM做好准备.这些解决方案中的每一个都无法绑定事件,除了默认的el和tagName在生成html时都失败了.相关代码查看

$ ->
   class Aggregator.Views.Streams.StreamView extends Backbone.View
      template:JST["backbone/templates/stream"]
      el: $('.item')
      events:
       "click div" : "testing"
      initialize: (model)->
       console.log @el
       _.bindAll this , 'render'
       @model.bind 'change', @render
       @model.view = @
       @render()
       @delegateEvents()
      render: ->
       $(@el).html  "test"
       console.log @el
       @
      testing: ->
       alert "EVENT"
       #@model.clear()
Run Code Online (Sandbox Code Playgroud)

调用视图的函数(从另一个视图中提取)

view = new Aggregator.Views.Streams.StreamView({model: stream})
    console.log view.el
    $(@el).append view.render().el
Run Code Online (Sandbox Code Playgroud)

我有点困惑,我已设置el但它要么不创建,要么它不绑定事件.我已经尝试等待DOM加载并将el传递给构造函数但没有成功.对我最明显的错误的任何帮助将不胜感激.

javascript javascript-events coffeescript backbone.js

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