弹出框单击事件不起作用
Popover click event does not work
$('.pop').each(function () {
var $elem = $(this);
$elem.popover({
placement: 'auto',
trigger: 'hover',
html: true,
container: $elem,
animation: true,
content: function () {
var pop_dest = $(this).attr("data-pop");
//console.log(plant);
return $("#"+pop_dest).html();
}
});
});
$('#english').click(function() { // ---> THIS PART DOES NOT WORK
alert("english");
});
$('#turkce').click(function() { // ---> THIS PART DOES NOT WORK
console.log("turkce");
});
我在弹出窗口中有 2 个按钮。但是他们的点击事件不起作用。如何从按钮点击触发点击事件?我的 html 代码如下。
<li>
<a href="javascript: void(0);" id="languages" class="pop" data-html="true" data-toggle="popover" data-pop="popper-content" class="popper">
<?=$language["languages"]?>
</a>
<div class="hide" id="popper-content">
<ul class="lang-list">
<li class="en">
<button id="english">English</button>
</li>
<li class="tr">
<button id="turkce">Türkçe</button>
</li>
</ul>
</div>
</li>
当您调用 click
函数时,按钮尚未添加到页面(因为它们位于动态添加的弹出框中(,因此您必须使用一些来处理未来添加的内容:
$('body').on('click', '#english', function () {
alert("english");
});
您应该委托事件以确保事件到达所需的 DOM 元素,如果在执行 js 时它不存在:
$("body").on('click', '#english', function() {
alert("english");
});
$("body").on('click', '#turkce', function() {
alert("turkce");
});
您可以使用 on
方法使用 jquery 委派事件,其中选择器是将事件委托给子节点的父节点,firs 参数是事件名称click
,第二个是您希望将事件委托给#english
的子节点,第三个参数是处理程序。
popover
的内容动态追加到页面。这意味着,当您尝试在页面加载时附加事件处理程序时,DOM 中不存在任何按钮。若要解决此问题,请使用委托的事件处理程序:
$(document).on('click', '#english', function() {
alert("english");
}).on('click', '#turkce', function() {
console.log("turkce");
});
问题是<button>
的默认类型为 submit
。 您不希望使用这种默认行为,因为您提供了自己的单击处理程序。 你需要type="button"
按钮.
<button id="english" type="button">English</button>
相关文章:
- JsFiddle上的鼠标事件不起作用
- 链接上的IE10 jquery句柄单击事件不起作用
- jQuery加载完成事件不起作用
- 覆盖单击事件不起作用
- 单击事件不起作用
- 为什么body元素上的onclick事件不起作用
- 追加Jquery后的Binding Click事件不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- jQuery调用keyup事件不起作用
- 选择选项淘汰赛事件不起作用
- pixijs 鼠标关闭事件不起作用(任何版本)
- D3.js鼠标事件不起作用
- D3js 饼图单击事件不起作用
- j查询动画重置后事件不起作用
- jquery 1.7追加后点击事件不起作用
- 当我将位置更改为绝对时,画布精灵表和触摸事件不起作用
- 引导程序弹出窗口(bootbox)中的Javascript事件不起作用
- 在Javascript中动态添加列时,单击事件不起作用
- 敲除数据绑定=“;html:html,内部html点击事件不起作用
- 当元素在事件绑定后附加到DOM时,触摸事件不起作用