Adding event handlers to array of buttons does not work javascript
我正在尝试将事件处理程序分配给数组中的按钮。当我按下这个按钮时,它应该调用一个函数,但它不调用,也不知道为什么。这是我的密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var btns = []; btns.push($('').addClass('mvn_no mvn')); btns.push($('').addClass('mvn_n mvn')); btns.push($('').addClass('mvn_ne mvn')); btns.push($('').addClass('mvn_o mvn')); btns.push($('').addClass('mvn_c')); btns.push($('').addClass('mvn_e mvn')); btns.push($('').addClass('mvn_so mvn')); btns.push($('').addClass('mvn_s mvn')); btns.push($('').addClass('mvn_se mvn')); for ( var i = 0; i < btns.length; i++) { btns[i].mousedown(function() { moveImage(this); }).mouseup(function() { clearTimeout(tMovement); }).mouseout(function(){ clearTimeout(tMovement); }); table.find('td:eq(' + i + ')').append(btns[i]); $($options.expose.elementMovement).empty().append(table); } alert($._data( $("div.mvn_so"),"events" )); |
一旦这段代码运行起来,我就点击按钮,什么也不会发生。我甚至尝试调用一个只包含警报的虚拟函数,但它仍然不起作用。我还尝试获取给定元素上的事件,它返回未定义的。感谢您的帮助。
所以,经过数小时的调试,我终于找到了破坏代码的罪魁祸首。那是该死的以东人。在
尝试如下操作:http://jsfiddle.net/adgsc/
1 2 3 4 5 6 7 8 9 10 11 12 13 | $('#myTable').on({ 'mousedown': function() { moveImage(this); }, 'mouseup': function(something) { clearTimeout(tMovement); status.text('mouseup: ' + $(this).attr('class')); }, 'mouseout': function(something) { clearTimeout(tMovement); status.text('mouseout: ' + $(this).attr('class')); } }, 'div'); |
这可能不是你想要的,但希望它能引导你走上正确的道路。
有关jquery的