gpt4 book ai didi

javascript - 如何在 EJS 模板中使用 jQuery 和 vanilla JS

转载 作者:行者123 更新时间:2023-11-28 07:44:20 25 4
gpt4 key购买 nike

我在 EJS 模板中执行 jQuery 代码时遇到问题。我的代码:

$.json('/data.json', function (data) {
new EJS({url: 'template.ejs'}).update('mycontainer', {data: data});
})

它有效。但是当我尝试在这个模板中使用一些 jQuery 插件时 - 什么也没有。我的 EJS 模板示例:

<script>
alert(0);
$(document).ready(function () {
$('#someId').someJQplaugin();
})
</script>
<div id="someId"><%= data.someValue%></div>

插件和警报(!!) 不起作用。然后我将代码替换为<% %>之间标签。 Alert 和 document.ready 正在工作,但 jQuery 无法在附加的 EJS 模板中找到该对象。

我尝试在模板之外使用 jQuery,但结果是相同的:

$('#someId') is null.

如何一起使用 EJS 和 jQuery?

最佳答案

我想我解决了一个问题。 EJS 上没有关于更新/插入的回调。我已经像这样扩展了 EJS:

EJS.Prototype = {
...
update: function(element, options, cb) {
...
// add this to the end of function
if(cb != null)
cb();
}

现在我可以像这样执行回调:

new EJS({url: template}).update(obj.attr('data-selector'), {data: data}, function () {
// it works
$('#someId').someJQplugin();
});

希望,这会对某人有所帮助)

关于javascript - 如何在 EJS 模板中使用 jQuery 和 vanilla JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27616930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com