Javascript 动态版本中的类不';行不通
我有个问题 当我在静态版本中单击我的链接时:Javascript 动态版本中的类不';行不通,javascript,jquery,addclass,Javascript,Jquery,Addclass,我有个问题 当我在静态版本中单击我的链接时: <a class="ajax-portfolio" href="page.html"><span class="moreText">+</span></a> 页面和javascript函数工作得非常好 但是,当我制作动态内容时: <script> $(function() { var url = "json1.json"; $.getJSON(u
<a class="ajax-portfolio" href="page.html"><span class="moreText">+</span></a>
页面和javascript函数工作得非常好
但是,当我制作动态内容时:
<script>
$(function() {
var url = "json1.json";
$.getJSON(url, function(json) {
$.each(json.sommer, function(i, item) {
$('<a class="ajax-portfolio" href="' + item.name + '"><span class="moreText">+</span></a>').appendTo('#betriebe');
});
});
});
</script>
$(函数(){
var url=“json1.json”;
$.getJSON(url,函数(json){
$.each(json.sommer,函数(i,项){
$('')。附于('#betriebe');
});
});
});
效果不正常
不能正常工作,因为我有一个新窗口。
在静态版本中,链接页面在“我的页面”的一部分中打开
问题一定是,该类在动态版本中不工作。
有人有办法吗?
请
提前谢谢 假设您正在使用:
$('.ajax-portfolio').click(function(e){
// Do stuff
});
实际上,您需要这样一个委托事件处理程序:
$(document).on('click', '.ajax-portfolio', function(e){
// Do stuff
});
它的工作原理是侦听向上冒泡的事件,然后应用jQuery选择器。这意味着元素只需要在事件发生时存在即可匹配<代码>文档是默认值,如果元素附近没有任何方便的内容
在您的情况下,您似乎有一个具有id=“betriebe”
的祖先,因此,如果将其作为委托元素,代码将非常快:
$('#betriebe').on('click', '.ajax-portfolio', function(e){
// Do stuff
});
注意:不要对委派事件使用
body
,因为样式设置会阻止它接收冒泡的鼠标事件!始终使用文档
作为后备方案。假设您正在使用:
$('.ajax-portfolio').click(function(e){
// Do stuff
});
实际上,您需要这样一个委托事件处理程序:
$(document).on('click', '.ajax-portfolio', function(e){
// Do stuff
});
它的工作原理是侦听向上冒泡的事件,然后应用jQuery选择器。这意味着元素只需要在事件发生时存在即可匹配<代码>文档是默认值,如果元素附近没有任何方便的内容
在您的情况下,您似乎有一个具有id=“betriebe”
的祖先,因此,如果将其作为委托元素,代码将非常快:
$('#betriebe').on('click', '.ajax-portfolio', function(e){
// Do stuff
});
注意:不要对委派事件使用
body
,因为样式设置会阻止它接收冒泡的鼠标事件!始终使用文档
作为后备方案。假设您正在使用:
$('.ajax-portfolio').click(function(e){
// Do stuff
});
实际上,您需要这样一个委托事件处理程序:
$(document).on('click', '.ajax-portfolio', function(e){
// Do stuff
});
它的工作原理是侦听向上冒泡的事件,然后应用jQuery选择器。这意味着元素只需要在事件发生时存在即可匹配<代码>文档是默认值,如果元素附近没有任何方便的内容
在您的情况下,您似乎有一个具有id=“betriebe”
的祖先,因此,如果将其作为委托元素,代码将非常快:
$('#betriebe').on('click', '.ajax-portfolio', function(e){
// Do stuff
});
注意:不要对委派事件使用
body
,因为样式设置会阻止它接收冒泡的鼠标事件!始终使用文档
作为后备方案。假设您正在使用:
$('.ajax-portfolio').click(function(e){
// Do stuff
});
实际上,您需要这样一个委托事件处理程序:
$(document).on('click', '.ajax-portfolio', function(e){
// Do stuff
});
它的工作原理是侦听向上冒泡的事件,然后应用jQuery选择器。这意味着元素只需要在事件发生时存在即可匹配<代码>文档是默认值,如果元素附近没有任何方便的内容
在您的情况下,您似乎有一个具有id=“betriebe”
的祖先,因此,如果将其作为委托元素,代码将非常快:
$('#betriebe').on('click', '.ajax-portfolio', function(e){
// Do stuff
});
注意:不要对委派事件使用
body
,因为样式设置会阻止它接收冒泡的鼠标事件!始终使用文档
作为后备方案。您很可能还有其他代码可以这样做
$('.ajax-portfolio').click(function(){...});
或
您需要将此更改为
$('#betriebe').on('click', '.ajax-portfolio', function(){...});
问题在于使用
$('.ajax公文包')。单击可以将处理程序绑定到DOM中的现有元素(在脚本运行时)。稍后添加具有相同类的新元素时,代码尚未附加到该新元素
使用$(“#betriebe”).on('click',“.ajax公文包”
允许您将事件处理委托给所有.ajax公文包
元素的预先存在的祖先(因为它们位于其中)。您很可能还有其他一些代码
$('.ajax-portfolio').click(function(){...});
或
您需要将此更改为
$('#betriebe').on('click', '.ajax-portfolio', function(){...});
问题是使用$('.ajax公文包')。单击
可以将处理程序绑定到DOM中的现有元素(在脚本运行时)。稍后添加具有相同类的新元素时,代码尚未附加到该元素
使用$(“#betriebe”).on('click',“.ajax公文包”
允许您将事件处理委托给所有.ajax公文包
元素的预先存在的祖先(因为它们位于其中)。您很可能还有其他一些代码
$('.ajax-portfolio').click(function(){...});
或
您需要将此更改为
$('#betriebe').on('click', '.ajax-portfolio', function(){...});
问题是使用$('.ajax公文包')。单击
可以将处理程序绑定到DOM中的现有元素(在脚本运行时)。稍后添加具有相同类的新元素时,代码尚未附加到该元素
使用$(“#betriebe”).on('click',“.ajax公文包”
允许您将事件处理委托给所有.ajax公文包
元素的预先存在的祖先(因为它们位于其中)。您很可能还有其他一些代码
$('.ajax-portfolio').click(function(){...});
或
您需要将此更改为
$('#betriebe').on('click', '.ajax-portfolio', function(){...});
问题是使用$('.ajax公文包')。单击
可以将处理程序绑定到DOM中的现有元素(在脚本运行时)。稍后添加具有相同类的新元素时,代码尚未附加到该元素
使用$(“#betriebe”).on('click',“.ajax公文包”
允许您将事件处理委托给所有.ajax公文包
元素的预先存在的祖先(因为它们位于其中)。您可以运行代码并通过inspect元素检查源代码。您可以看到html代码已正确创建了ant