很久没有使用jQuery,做项目的时候遇到一个小问题就是网页加载之后的append的元素是可以执行click事件,网页加载完成之后的,再次append的元素不执行click事件,简单的通过ul模拟一下:
1
2
3
|
<ul
class
=
"content"
>
</ul>
<span
class
=
"test"
>测试</span>
|
三种不同的点击方式,append之后的click无效,通过on执行,注意参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$(
function
() {
$(
'.content'
).append(
'<li>FlyElephant</li>'
);
$(
'.content li'
).click(
function
(event) {
console.log(
'博客园-FlyElephant'
);
});
$(
'.content li'
).on(
'click'
,
function
() {
console.log(
'博客园-FlyElephant'
);
});
/*通用*/
$(document).on(
'click'
,
'.content li'
,
function
() {
console.log(
'keso'
);
});
$(
'.test'
).click(
function
() {
$(
'.content'
).append(
'<li>keso</li>'
);
});
});
|
本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/4975980.html,如需转载请自行联系原作者