我该如何使用onclick方法?

时间:2014-12-04 23:39:18

标签: javascript events onclick mouse

我用javascript制作了窗口的对象。我想在windows对象中添加一些函数。但.onclick,.setattribute和.addEventListener不适用于我的对象。当我给出css或javascript的值时,甚至鼠标光标也无法更改。它是我的源码的499行。你能告诉我为什么这些不起作用吗?我应该改变语言吗?是bug吗?

function seSizeValue(theNumOfWins,outlayerId){
        var seSizeValue;
        var seSizeValueId;
        seSizeValueId = "seSizeValueId" + theNumOfWins;
        seSizeValue = document.createElement("div");
        document.getElementById(outlayerId).appendChild(seSizeValue);
        seSizeValue.setAttribute("id",seSizeValueId);
        document.getElementById(seSizeValueId).setAttribute("class","seSizeValueCSS");
        document.getElementById(seSizeValueId).onclick = function(event) {seSizeChange();};

        return seSizeValueId;
    }

""" document.getElementById(seSizeValueId).onclick = function(event){seSizeChange();};"""

此行不起作用。我已经尝试更改' .setattribute'和' .addEventListener'。

没有错误。但它不起作用。

https://drive.google.com/file/d/0B4p8lZSEMXcqN0FzQTkyVW8wRGc/view

这是我的全部资料。

它对我的来源无效。

我应该使用jQuery吗?

4 个答案:

答案 0 :(得分:0)

我认为如此将窗口引用保存在带有类似

的句子的变量中

var new_window = window.open

是使用jquery和on()方法直接使用javascript在DOM子元素中手动设置事件。

我不确定,但我建议一个可行的解决方案。

答案 1 :(得分:0)

没有定义为" seSizeChange"因此,当onclick事件触发时,它将运行一个不存在的函数。

另外,当你打电话给这个" seSizeValue"函数,你是否在指定的元素加载到文档后调用它?

如果没有,代码将无法找到指定的元素。

答案 2 :(得分:0)

 document.getElementById(seSizeValueId).onclick = function(event) {seSizeChange();};

肯定是错的。

请参阅http://jsfiddle.net/2txugfq5/

除了&seffizeChange'没有定义。

答案 3 :(得分:0)

约翰说得好。

http://jsfiddle.net/hqw7ocwj/2/,工作正常。除了以下内容之外,不会对代码中的任何重要内容进行任何更改:

$(document).ready(function() {});

function seSizeChange() {
    alert("seSizeChange method fired.");
}

要点: 1.确保在DOM准备就绪后调用JavaScript:$(document).ready(function {}); 2.确保已定义onclick引用的函数中的方法。