我运行 FB bigPipe 的“剥离”版本,它运行完美,除了 jquery。当我以 json 格式解析 jquery 并附加到 div 标签时,jquery 停止工作。
你可以看到我在这里使用的“bigPipe”jquery 代码
使它工作的代码非常简单。在 PHP 中:
$data = array(
'id' => {div tag ID},
'content' => {html content},
'title' => {document title},
'css' => {...},
'js' => {...}
);
$output = '<script>Test.render(' . json_encode($data) . ');</script>';
我认为问题在于我必须将 window.addEventListener 添加到窗口本身,而不是添加到我附加内容的 div 标签。
在这里我被困住了。我该怎么做呢?如何让这个 jquery 在这个附加的 html 中工作?
这是一个关于它应该如何工作的例子:
如果您尝试从 php 文件运行此代码,则会出现问题。请执行以下操作:
- 将来自 jsFiddle 的 js 代码放入 js 文件中,并正常包含在 .php 文件中。在 php 文件中创建一个 div 标签并将其命名为“not_working”- 保存
- 制作一个空的 .html 文档并添加一个 div 标签
<div id="test">Click me</div>
并保存。- 创建一个新的 js 文件并将其命名为 test.js。输入这段代码:
$(函数(){
$("body").on("click","#test",function(){
alert("You clicked me!!");
});
});
节省。
在 PHP 文件中,添加以下内容:
$data = array( 'id' => "not_working", 'content' => {LINK and NAME to the HTML file you created!!}, 'title' => "Test", 'css' => "", 'js' => {LINK and NAME to the JS file you created!!}, );
运行 .php 文件,单击 Click me!。