Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在通过jQuery'加载的HTML上使用已经加载的JS;s load()函数?_Javascript_Jquery_Html_Load - Fatal编程技术网

Javascript 在通过jQuery'加载的HTML上使用已经加载的JS;s load()函数?

Javascript 在通过jQuery'加载的HTML上使用已经加载的JS;s load()函数?,javascript,jquery,html,load,Javascript,Jquery,Html,Load,不确定这是否可行,但我正在尝试使用我最初在动态HTML上请求页面时通过script标记加载的JavaScript,该动态HTML是通过jQuery的load()函数加载的 例如: 正如您在示例中所看到的,单击弹出框中的链接后,链接将消失。问题是链接应该停止,而您应该看到一个警报 但是,如果我粘贴通过jQuery加载的HTML,它会工作,因此代码很好。问题在于您的。单击将仅对当时存在的元素执行此操作。如果要对选择器将匹配的所有潜在未来元素执行此操作,则需要在较旧版本的jQuery中使用(delga

不确定这是否可行,但我正在尝试使用我最初在动态HTML上请求页面时通过
script
标记加载的JavaScript,该动态HTML是通过jQuery的
load()
函数加载的

例如:

正如您在示例中所看到的,单击弹出框中的链接后,链接将消失。问题是链接应该停止,而您应该看到一个警报


但是,如果我粘贴通过jQuery加载的HTML,它会工作,因此代码很好。

问题在于您的
。单击
将仅对当时存在的元素执行此操作。如果要对选择器将匹配的所有潜在未来元素执行此操作,则需要在较旧版本的jQuery中使用(
delgate()
live()
)。

创建元素后必须注册
$('.lang')。click()
事件

您需要对加载函数进行回调才能注册此函数。

Description 您需要jQuery
.live()
.on()
方法将事件绑定到动态创建的html

根据您使用的jQuery版本,选择
.live()
.on()

.live()从jQuery 1.3开始提供。为当前和将来与当前选择器匹配的所有元素附加事件处理程序

.on()从jQuery 1.7开始提供。将一个或多个事件的事件处理程序函数附加到选定元素

看看我的样品和这个

样品 。。。对于jQuery.live()

。。。对于jQuery.on()

更多信息

您需要使用live将处理程序附加到动态加载的元素

试试这个,它会解决你的问题

$('.lang').live('click',函数(e){


对于动态加载的元素,必须使用
on
函数:

    $('.open_lang').click(function(e) {      
    e.preventDefault();    
    $('#popup').load('http://skins.thehabbos.org/pop_up/language.php').css('display', 'block');            
});

$('body').on('click', '.lang', function(e) {    
    e.preventDefault();  
    alert('Testing..');        
});
live
delegate
在JQuery1.7+中被弃用,JQuery1.7+是JSFIDLE的版本)

固定的

$('.lang').on("click", function(e) {   
    e.preventDefault();  
    alert('Testing..');        
});
    e.preventDefault();

    alert('Testing..');

});
    $('.open_lang').click(function(e) {      
    e.preventDefault();    
    $('#popup').load('http://skins.thehabbos.org/pop_up/language.php').css('display', 'block');            
});

$('body').on('click', '.lang', function(e) {    
    e.preventDefault();  
    alert('Testing..');        
});