jquery上的选择器功能

时间:2016-05-07 07:51:50

标签: javascript jquery raphael

对于多个raphael(svg)节点,我已经定义了一个css类。可以通过参考这个类来选择所有这些节点,例如:

console.log($(':raph(nodecss)'));

概述了所有节点。为了您的信息,节点是动态创建的

现在我想使用以下代码在事件处理程序上定义(jquery):

$(document).on("mousedown", SELECTOR, (function(evt) {
console.log(this);
}).bind(this));;

这应该给出点击的实际节点。对于SELECTOR,我使用了以下选项:

  1. $( ':拍摄和(nodecss)')
  2. “$( ':拍摄和(nodecss)')”
  3. ':拍摄和(nodecss)'
  4. 由于不同的原因,一切都不起作用:

    1. Console.log(this)指的是窗口而不是单击的节点
    2. 未捕获错误:语法错误,无法识别的表达式:$(':raph(nodecss)')
    3. 对于动态创建的节点,click事件根本不会触发(无响应),对于在此页面加载时创建的节点,
    4. 什么应该用作on-function中的选择器,以便在单击节点时触发事件,这会给出已被点击的实际节点?

1 个答案:

答案 0 :(得分:1)

更正式地说,这应该有效:

$(document).on("mousedown", ':raph(nodecss)',
    function(evt) {
        console.log(evt.target);
    }
);

你实际上应该可以使用this而不是evt.target,但是evt.target即使函数绑定到错误的对象(比如窗口)也应该工作 - 我是相信你的第一个案件发生了什么。