想做一个如下图添加标签的功能
我用 bootstrap 做好 popover 之后, 点击按钮, 是直接通过 jQuery 塞进一段 html 实现了弹出下图所示窗口,
但是, jQuery 选择器死活不能获取弹出窗口的按钮和其它元素, 用了$(document).ready 也不行...
JS 代码:
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#addTags').popover({
html : true,
title: function() {
return $("#popover-head").html();
},
content: function() {
return $("#popover-content").html();
}
});
$('#addTags').click(function (e) {
e.stopPropagation();
});
$(document).click(function (e) {
if (($('.popover').has(e.target).length == 0) || $(e.target).is('.close')) {
$('#addTags').popover('hide');
}
});
});
</script>
求大神帮忙看看, 谢谢!
PS:一直做后端, 也可能思路不对, 有更好的想法也希望分享一下.
1
loading 2016-05-09 15:59:21 +08:00
你这个应该是新增元素绑定事件问题。
jQuery 是建议使用 .live() 。 |
3
loading 2016-05-09 16:09:09 +08:00
建议打包一个代码上来,这样比较方便大家实验。
|
4
sox 2016-05-09 16:09:59 +08:00
.live 很早很早前就 deprecated 并 remove 掉了 233
|
5
jarlyyn 2016-05-09 16:12:32 +08:00
.on
|
7
bugsnail OP |
8
bugsnail OP |
9
Biwood 2016-05-09 16:24:57 +08:00 1
$(document).on('click', '#add-test', function(e){
alert(111); }); |
12
learnshare 2016-05-09 16:40:16 +08:00
事件委托
|
14
bugsnail OP @learnshare
@Biwood 今天又遇到一个问题, 我点 添加 按钮的时候, 要获取 input 标签的值, 再把它放到上面去. 可是, 下面又获取不到值了... $(document).on('click', '#tagNew', function(e){ var val = $('#tagName').val(); alert(val); }); 前端简直了, 这种问题一般怎么排查, 感觉前端出了 bug 根本无从下手 |