Javascript,将变量传递给click事件?

and*_*ndy 0 javascript jquery

我真的无法弄清楚我会怎么做.它更像是一个概念问题,而不是一个代码问题,所以我只想发一个例子:

object = $('#div');

function doSomething(object) {
    //iterates through a list and creates a UL with items in corresponding to that list.
    $(body).append("<li id='clickme'>Hello world</li>");
}

function createModal(object) {
    //creates modal dialogue.
    doSomething(object);
    //more stuff
}

$('#clickme').live("click", function() {
    //I need access to object (not the object declared at first,
    //the object passed into doSomething) here.

});
Run Code Online (Sandbox Code Playgroud)

有什么想法我会怎么做这样的事情?doSomething将创建一组LI并将参数传递给它.当单击函数创建的那些LI时,它们需要与传递给doSomething的参数进行交互.有没有办法绑定他们或什么?

对不起,如果我没有任何意义.

Den*_*ret 5

您可以使用jquery数据函数将数据与DOM元素相关联.然后,您可以在处理事件时读取这些数据.

另一种方法,通常不推荐但在一次大传递中构建html并且没有对DOM元素的轻松访问,并且只有字符串(或键)时有用,就是添加一个属性并在以后使用它来检索它jquery的attr函数.我建议您尽可能使用数据功能.