2014-12-23 137 views
1

我在EJS模板上執行jQuery代碼時遇到問題。我的代碼:如何在EJS模板上使用jQuery和vanilla JS

$.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')爲空。

如何一起使用EJS和jQuery?

回答

0

我想,我解決了一個問題。 EJS沒有更新/插入的回調。我有延長EJS是這樣的:

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

希望,這將幫助別人)

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

現在我可以這樣執行回調

相關問題