将事件处理程序添加到按钮数组不起作用 Javascript
Adding event handlers to array of buttons does not work Javascript
我正在尝试将事件处理程序分配给数组中的按钮。当我按下按钮时,它应该调用一个函数,但就是没有,也无法弄清楚原因。这是我的代码:
var btns = [];
btns.push($('<div />').addClass('mvn_no mvn'));
btns.push($('<div />').addClass('mvn_n mvn'));
btns.push($('<div />').addClass('mvn_ne mvn'));
btns.push($('<div />').addClass('mvn_o mvn'));
btns.push($('<div />').addClass('mvn_c'));
btns.push($('<div />').addClass('mvn_e mvn'));
btns.push($('<div />').addClass('mvn_so mvn'));
btns.push($('<div />').addClass('mvn_s mvn'));
btns.push($('<div />').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" ));
一旦这段代码运行,我单击按钮,什么也没发生。我什至尝试调用一个只有警报的虚拟函数,但它仍然不起作用。我还尝试在给定元素上获取事件,它返回未定义。任何帮助,不胜感激。
因此,经过数小时的调试,我终于找到了破坏我代码的罪魁祸首。这是该死的.empty()
在$($options.expose.elementMovement).empty().append(table);
当我删除它时,代码工作得很好。我不知道为什么它没有像以前那样工作,但我很高兴它现在有效。即使将空放在单独的行中也会破坏我的代码。
尝试这样的事情: http://jsfiddle.net/ADGSc/
$('#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 .on()
函数的更多信息:http://api.jquery.com/on/
相关文章:
- For循环与数组不起作用
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- 映射 jQuery 对象的数组不起作用
- Javascript-自定义数组不起作用
- 函数中的Javascript数组不起作用
- Js browserify 需要从字符串数组不起作用
- 来自 JSON 的 Javascript 数组不起作用
- 按属性排序的 Javascript 对象数组不起作用
- 在 JavaScript 中合并数组不起作用
- 普通的OOP Javascript:将localStorage视为数组不起作用
- 为什么这个map reduce Promises数组不起作用,而只是减少它起作用
- 在IE 10中,javascript数组不起作用
- if(array.length===1) 条件对长度> 1 的数组不起作用
- .将Integer推入数组不起作用JS/JQuery
- 在 java 脚本中处理多维数组不起作用
- 通过 AJAX 提交 PHP 数组不起作用
- 将json转换为Javascript数组不起作用
- 带冒号的数组不起作用
- 将事件处理程序添加到按钮数组不起作用 Javascript
- javascript中的echo php数组不起作用