Javascript 如何将jquery函数附加到加载页面后追加的div,而不触发任何事件
如何将Jquery函数附加到加载页面后附加的div上,而不触发任何事件 在下面的示例中,defaultTab-28是稍后添加到页面的divJavascript 如何将jquery函数附加到加载页面后追加的div,而不触发任何事件,javascript,jquery,html,Javascript,Jquery,Html,如何将Jquery函数附加到加载页面后附加的div上,而不触发任何事件 在下面的示例中,defaultTab-28是稍后添加到页面的div <a href="javascript:toggleDiv('defaultTab-28')" 如果使用.delegate()或.on(),则必须指定事件,如单击等,但在这种情况下不需要事件触发器 编辑:更准确地说: 我知道在使用JQuery时使用内联JS是不好的,我本可以使用JQuery中的按钮点击功能,但我的问题是:有没有像.on或.deleg
<a href="javascript:toggleDiv('defaultTab-28')"
如果使用.delegate()或.on(),则必须指定事件,如单击等,但在这种情况下不需要事件触发器
编辑:更准确地说:
我知道在使用JQuery时使用内联JS是不好的,我本可以使用JQuery中的按钮点击功能,但我的问题是:有没有像.on或.delegate这样的函数来分配一个没有事件的函数
function toggleDiv(divObj){
$(divObj).toggle();
}
HTML(稍后将附加的内容):
您的代码已经按原样工作,您不需要对尚未存在的div执行任何操作
函数切换div(id){
$(“#”+id).toggle();
}
setTimeout(函数(){
$(“body”)。追加(“我是div!!!”;
},5000);
使用此html:
<a href="javascript:toggleDiv('defaultTab-28')">Click me to toggle the div that will be appended in 5 seconds.</a>
请回答您的评论:
我知道在使用JQuery时使用内联JS是不好的,我本可以使用JQuery中的按钮点击功能,但我的问题是:有没有像.on或.delegate这样的函数来分配一个没有事件的函数
不,必须有某种事件来告诉javascript引擎何时运行代码。添加到页面中的元素是一个事件,称为变异事件。还有一些突变观察者也能很好地处理这一问题,他们的本意是取代突变事件。两者都没有很好的跨浏览器支持。使用jQuery在页面上内联JS?草率。噢,请原谅,当其他人在评论中误解了他的问题时,我提供了一个解决方案。@HristoYankov您对他的问题的评论与您的答案建议的解决方法不匹配。没有人理解这个问题,因此,有多条评论要求OP解决它@是的,不。一定有个活动。他不想玩一下扳机吗?@HristoYankov我不知道,你告诉我。我就是这样解释他的问题的,而你似乎是根据你对他的问题的评论来解释的。@HristoYankov,OP说,“……但在这种情况下,事件触发器是不必要的”我认为你的代码是好的+1。然而,我相信OP错误地认为,当他“切换”时,他是在“附加”。
<div onClick='toggleDiv(this);'></div>
function toggleDiv(id){
$("#" + id).toggle();
}
setTimeout(function(){
$("body").append("<div id='defaultTab-28'>I'm the div!!!</div>");
},5000);
<a href="javascript:toggleDiv('defaultTab-28')">Click me to toggle the div that will be appended in 5 seconds.</a>