Jquery 单击后显示模型弹出窗口
我在导航栏中有一个导航栏,最后我有一个tweet选项,所以当有人点击该tweet时,应该会打开一个弹出模型。我试过下面的代码,但它不工作。有谁能告诉我哪里出了问题Jquery 单击后显示模型弹出窗口,jquery,html,modal-dialog,Jquery,Html,Modal Dialog,我在导航栏中有一个导航栏,最后我有一个tweet选项,所以当有人点击该tweet时,应该会打开一个弹出模型。我试过下面的代码,但它不工作。有谁能告诉我哪里出了问题 $(document).ready(() => { $('#header #nav-menu-container ul').append('<li class="tweet"><a href="#tweetmodel">Tweets</a></li>').addClass('a
$(document).ready(() => {
$('#header #nav-menu-container ul').append('<li class="tweet"><a href="#tweetmodel">Tweets</a></li>').addClass('additionalnavtext');
$('.tweet').click(() => {
$('<div id="tweetmodel" class="modal"><p>Testing</p><a href="#" rel="modal:close">Close</a></div>').open();
});
});
$(文档).ready(()=>{
$(“#标题#导航菜单容器ul”).append(“”).addClass('additionalnavtext');
$('.tweet')。单击(()=>{
$(“测试”).open();
});
});
由于您后来添加了带有tweet
类的元素,因此它在用于jQuery的DOM中不可用。试试这个
$('body').on('click', '.tweet', () => {
//your code here
});
函数.click()仅当DOM元素完全加载时才会绑定。在DOM之后加载的任何动态内容或内容都不适用于.click()函数。处理程序将不会绑定到DOM元素
下面的代码将解决这个问题
$(document).on('click', '.tweet', function(e){
//your code here
});
您正在使用jQuery模式吗?jQuery中没有
open
方法。
如果您使用的是jQuery模式,那么代码应该如下所示:
$(document).ready(() => {
$('#header #nav-menu-container ul').append('<li class="tweet"><a href="#tweetmodel">Tweets</a></li>').addClass('additionalnavtext');
$('.tweet').click(() => {
$('<div id="tweetmodel" class="modal"><p>Testing</p><a href="#" rel="modal:close">Close</a></div>').modal();
});
});
引导示例
$(函数(){
常量tweetli=$(`
`).appendTo(“#导航菜单容器ul”);
tweetli.find('a.tweet')。在('click',()=>{
$('#modalContainer').html($(`
情态标题
&时代;
模态体文本在这里
保存更改
接近
`).modal(“show”);
})
})
您添加了动态HTML?是$(文档)。在('click','tweet',函数(e){})上;或$(body).on('click','tweet',函数(e){})@AMITPALE请参阅以了解更多详细信息。@AMITPALE也请参阅此。这是关于动态绑定的,这是您的情况。我得到这个错误未捕获类型错误:e(…)。模式不是函数确保在jquery模式之前加载jquery。并查看是否包含jquery模式。检查我的工作代码,找出不同之处。