Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery咖喱_Javascript_Jquery - Fatal编程技术网

Javascript jquery咖喱

Javascript jquery咖喱,javascript,jquery,Javascript,Jquery,请看 如何更改此代码,使$(this)在单击事件中的行为类似于$(this),而不是返回完整的html文档 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT"> <meta http-equiv="Prag

请看

如何更改此代码,使
$(this)
在单击事件中的行为类似于
$(this)
,而不是返回完整的html文档

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-language" content="en">
<meta name="author" content="">
<meta http-equiv="Reply-to" content="@.com">
<meta name="generator" content="PhpED 5.2">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="creation-date" content="09/20/2007">
<meta name="revisit-after" content="15 days">
<title>Untitled</title>
<link rel="stylesheet" type="text/css" href="my.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function functionToCall(clickedItem) {
  return function (ev) {
    // both accessible here
    alert(ev.type);
    console.debug(clickedItem);
    alert(clickedItem.attr('id'));
  }
}


$(document).ready(function() {
   $("a").live("click", functionToCall($(this)));
 });
</script>
</head>
<body>
  <a href='#' id="test">Test</a>
</body>
</html>

无标题
函数调用函数(单击编辑项){
返回功能(ev){
//都可以在这里找到
警报(ev.类型);
控制台调试(点击编辑项);
警报(单击editem.attr('id'));
}
}
$(文档).ready(函数(){
$($).live(“单击”,函数调用($(此));
});
像这样重构它:

function functionToCall(ev) {  // ev -> event is passed by jQuery by default
    var clickedItem = this;    // this refers to the element that is clicked
    // both accessible here 
    alert(ev.type); 
    //console.debug(clickedItem);  // this may not work in all browsers. see my fiddle for a failsafe.

    // failsafe: check if console exists
    if(window.console && window.console.debug) { console.debug(clickedItem);  }
    alert($(clickedItem).attr('id'));   // $() to get jQuery object
} 

 $(document).ready(function() { 
   $("a").live("click", functionToCall);   // just need to pass a function reference
 }); 
$("a").each(function(){
  $(this).live("click",functionToCall($(this)));
})

演示:

尝试以下内容:

function functionToCall(ev) {  // ev -> event is passed by jQuery by default
    var clickedItem = this;    // this refers to the element that is clicked
    // both accessible here 
    alert(ev.type); 
    //console.debug(clickedItem);  // this may not work in all browsers. see my fiddle for a failsafe.

    // failsafe: check if console exists
    if(window.console && window.console.debug) { console.debug(clickedItem);  }
    alert($(clickedItem).attr('id'));   // $() to get jQuery object
} 

 $(document).ready(function() { 
   $("a").live("click", functionToCall);   // just need to pass a function reference
 }); 
$("a").each(function(){
  $(this).live("click",functionToCall($(this)));
})

不需要每个
。当你说
$('a').live(…)
时,jQuery会将点击事件绑定到所有
a
元素。我们中的一个人误解了这个问题