Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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/73.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 如何运行元素';单击事件处理程序?_Javascript_Jquery_Click - Fatal编程技术网

Javascript 如何运行元素';单击事件处理程序?

Javascript 如何运行元素';单击事件处理程序?,javascript,jquery,click,Javascript,Jquery,Click,HTML <div id="menu-left-left"> <ul> </ul> </div> jQuery var temp = ""; for (var i = 0; i < 2; i += 2) { temp += "<li> <a href='#' class='test'> + "Test" + </a> </li>"; } $("#menu-l

HTML

<div id="menu-left-left">
    <ul>
    </ul>
</div>

jQuery

var temp = "";

for (var i = 0; i < 2; i += 2) {
    temp += "<li> <a href='#' class='test'> + "Test" + </a> </li>";
}

$("#menu-left-left ul").html(temp);

$(".test").click(function() {   
    alert("Element test class");
});
var-temp=”“;
对于(变量i=0;i<2;i+=2){
温度+=“
  • ”; } $(“#菜单左上方”).html(临时); $(“.test”)。单击(函数(){ 警报(“元素测试类”); });

    我想使用jQuery加载
    #菜单左
    元素。当这个代码块工作时,菜单看起来就像我想要的。但是
    .test
    元素的单击事件处理程序不工作。如何运行此事件处理程序?

    在动态添加目标元素时,应使用委派事件。试试这个:

    $("#menu-left-left ul").on("click","li a.test",function() {   
    alert("Element test class");
    

    }))

    在添加元素后选择元素时,不需要委派事件。您的问题是循环的主体无效

    var temp = "";
    
    for (var i = 0; i < 2; i += 2) {
        temp += "<li> <a href='#' class='test'> + "Test" + </a> </li>";
    }
    
    var-temp=”“;
    对于(变量i=0;i<2;i+=2){
    温度+=“
  • ”; }
    字符串连接中存在语法错误。你的意思可能是:

     "<li> <a href='#' class='test'>" + Test + "</a> </li>" // Test is a variable
    
  • ”//测试是一个变量

  • 以下是您的代码的工作版本:

    var-temp=”“;
    
    对于(var i=0;IOUP,太晚了…+1对于Satpal:-)
     "<li> <a href='#' class='test'>Test</a> </li>"