Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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/9/google-apps-script/6.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
我可以迭代for循环来创建更多javascript吗?_Javascript_Jquery - Fatal编程技术网

我可以迭代for循环来创建更多javascript吗?

我可以迭代for循环来创建更多javascript吗?,javascript,jquery,Javascript,Jquery,我需要根据mysql数据库中存储的图像记录数量,在页面加载时填充多个.click()函数 到目前为止,我有一个页面可以很好地在照片之间切换,带有的图像按钮 但是我必须手工编写处理它的jquery 是否有一种方法可以使用正确数量的.js文件填充.click()函数,该函数基于数据库中的记录量。您不需要为每个唯一元素编写click() 相反,您可以使用选择器选择一组元素,例如$('a.record'),然后将单击() $('a.record').click(function() { // An

我需要根据mysql数据库中存储的图像记录数量,在页面加载时填充多个
.click()
函数

到目前为止,我有一个页面可以很好地在照片之间切换,带有
的图像按钮

但是我必须手工编写处理它的jquery


是否有一种方法可以使用正确数量的
.js
文件填充
.click()
函数,该函数基于数据库中的记录量。

您不需要为每个唯一元素编写
click()

相反,您可以使用选择器选择一组元素,例如
$('a.record')
,然后将
单击()

$('a.record').click(function() {
   // Any `a` element with a class of `record` was clicked.
});
这样做的缺点是添加了一堆事件监听器,以后的元素不会触发它

正如其他人所提到的,使用
on()
(如果使用较新的jQuery)或
delegate()
(如果使用较旧的jQuery)的事件委派是最好的,因为它只附加一个事件侦听器,并且将处理附加事件后添加的未来元素

$(document).on('click', 'a.record', function() {
   // Any `a` element with a class of `record` was clicked, now or in the future.
});

我在这里使用了
document
,但您应该使用不会更改的最近祖先,这可能是您描述的
ul
元素。

除了Alex的答案之外,如果您想设置尚未存在或尚未添加到页面的元素的单击事件,您可以执行以下操作:

$(body).on('click','a.record',function(){
    //any existing or future a element with class record will have this click function
});

您应该使用单个事件处理程序并将其附加到某个容器,而不是向每个元素添加单独的
onclick
处理程序。所说的事件句柄将捕获所有的
onclick
事件,作为DOM中的气泡