javascript - 将事件处理程序添加到按钮数组不起作用 javascript

标签 javascript javascript-events mouseevent

我正在尝试将事件处理程序分配给数组中的按钮。当我按下按钮时,它应该调用一个函数,但没有,也不知道为什么。
这是我的代码

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);当我删除它时,代码工作得很好。我不知道为什么它不能正常工作,但我很高兴它现在可以工作。即使将空放在单独的行中也会破坏我的代码。

关于javascript - 将事件处理程序添加到按钮数组不起作用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14596434/

相关文章:

javascript - 满足所有条件后隐藏工具提示弹出窗口

javascript - 将选定的选项复制到另一个选择

javascript - 无法使用 JavaScript 从数组中删除重复值

javascript - AngularJS 添加和推送嵌套的 JSON 对象

javascript - 没有jquery的HTML文档分页

javascript - 为什么在 addEventListener 回调中调用 removeEventListener?

Python Pygame 鼠标位置不更新

javascript - 确定鼠标在窗口焦点事件上的位置

java - 处理两个重叠节点上的鼠标事件 - Javafx

javascript - 空 css-grid 单元格下的元素不响应鼠标事件