如果我打电话给live函数undefined

时间:2011-05-23 05:35:54

标签: jquery

我有一个我希望能够打电话的实时功能。我知道我不能打电话,但我不知道如何处理这个问题。当我尝试调用live函数时,它会显示为undefined。任何人有任何关于如何处理这个问题的建议?我希望能够在不单击#open-window链接的情况下调用该函数,并在不同情况发生时将其传递给不同的信息以打开窗口。提前感谢您的任何帮助。

$('#open-window').live('click', function openwindow() {
var user=$(this).attr('data-name');
//...and then append some information
});

openwindow(somevariable);

3 个答案:

答案 0 :(得分:2)

命名函数表达式并不意味着将该名称泄露给外部作用域;它应该只用于使函数递归。

请注意IE erroneously does leak the name

答案 1 :(得分:2)

您在比您需要的范围更小的范围内定义您的功能。扭转它。

function openwindow(somevariable) {
   var user=$(this).attr('data-name');
   //...and then append some information
}

openwindow(somevariable);
$('#open-window').live('click', openwindow);

答案 2 :(得分:1)

function openwindow() {
  var user=$(this).attr('data-name');
  //...and then append some information
}

$('#open-window').live('click', openwindow);

openwindow(somevariable);