jQuery-for.each调用包含方法.on的函数
jQuery - for .each call function which contains method .on
我需要使用".each"元素jquery方法".on",但我做得不对。。有人能帮忙吗?
从SVG中获取ID并将其放入一个数组:
var svgZi10 = document.getElementById("svg"); //get the main SVG container
var svgElementZi10 = svgZi10.contentDocument; //get the inner DOM from SVG
var lock = []; //new Array
lock[0] = svgElementZi10.getElementById("lock-door-open-right-contour"); //get the inner element by id
lock[1] = svgElementZi10.getElementById("lock-door-open-left-contour"); //get the inner element by id
lock[2] = svgElementZi10.getElementById("lock-door-closed-right-contour"); //get the inner element by id
lock[3] = svgElementZi10.getElementById("lock-door-closed-left-contour"); //get the inner element by id
使用数组中的对象进行操作(不起作用):
$.each(lock, function(i,element) {
$(element).on("mousedown",function(){tab12[0].click() })
});
每个对象何时单独(工作):
var lock1 = svgElementZi10.getElementById("lock-door-open-right-contour"); //get the inner element by id
var lock2 = svgElementZi10.getElementById("lock-door-open-left-contour"); //get the inner element by id
lock1.addEventListener("mousedown",function(){tab7[0].click()});
lock2.addEventListener("mousedown",function(){tab7[0].click()});
您应该在当前元素上调用.on()
,而不是数组:
$.each(lock, function(i,element) {
$(element).on("mousedown",function(){tab12[0].click() })
});
如果lock
是DOM元素的数组,则不需要.each
。当您给jQuery()
一个元素数组时,它将创建一个封装它们的jQuery对象。所以你可以写:
$(lock).on("mousedown", function() {
tab12[0].click();
});
在jQuery集合上使用绑定函数时,它会绑定集合中的所有元素。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用 .on 函数运行 jQuery 声明函数
- jQuery:使用on函数加载插件
- 为什么在传递/公开事件发射器时需要包装我的事件发射器的 on 函数
- 在 jQuery on 函数中同时对多个项目运行时保持一致的值
- 用on函数替换live
- 如何将jQuery this与.on函数和.each函数一起使用
- 如何在这种情况下使用.on()函数
- Angular $on函数使用这个关键字
- jquery中的“.on”函数中出现错误
- jquery中的On()函数不起作用
- 如何将所有live()函数替换为on()函数
- 从on()函数返回变量- jquery
- jsPlumb的规范.On()函数
- 在 jQuery 中使用 BIND 或 ON 函数的最佳实践
- 将事件传递给_.使用jQuery 'on'函数
- socket IO匿名.on()函数不能使用jquery
- 你能在.on()函数中放入if / else语句吗?
- 如何通过jquery中的.on函数在多个选择器上附加不同的事件
- 在Node Js中,tcp连接中socket的.on函数是什么?