1

我想做简单的 onClick 事件

$('._1').click(function(){
        window.open('abc.html?parameter=1');
    });

在上面的例子中,我有 _1 作为一个类,现在有多个这样的元素,这里的 1 也作为 window.open 请求的参数

但是我想绑定多个点击事件

var arrayOfValues = [1,2,4,6,7,8];
for(var z=0;z<arrayOfValues.length;z++)
    $('._'+arrayOfValues[z]+'').click(function(){
        window.open('abc.html?parameter='+arrayOfValues[z]);
    });

但这不起作用

4

1 回答 1

2
var arrayOfValues = [1,2,4,6,7,8];

$.each(arrayOfValues, function(key, val) {

   for(var z=0;z<arrayOfValues.length;z++) {
     $( '._'+arrayOfValues[z] ).click(function(){
                             ^ -- dont need quote here
       window.open('abc.html?parameter='+arrayOfValues[z]);

     });
   }

   // jQuery loop
   $( '._' + val ).click(function(){

        window.open('abc.html?parameter='+arrayOfValues[z]);

    });

});

但是,如果您在页面加载后将元素添加到文档中,那么您应该尝试使用委托事件处理程序.on()

var arrayOfValues = [1,2,4,6,7,8];

$.each(arrayOfValues, function(key, val) {

    $('body').on('click', '._'+ arrayOfValues[z], function(){

        window.open('abc.html?parameter='+arrayOfValues[z]);

    });

});
于 2012-06-02T20:16:21.000 回答