在CoffeeScript中使用jQuery UI,雖然這個代碼幾乎是相同的JavaScript:在一個書籤
tabs_html = "<div id='nm-container'><ul><li><a href='#tabs-1'>Guidelines</a></li><li><a href='#tabs-2'>Test</a></li></ul>
<div id='tabs-1'><p>something1</p></div><div id='tabs-2'><p>something2</p></div></div>"
$("#nm-toolbar").append(tabs_html)
$("#nm-container").tabs()
它不工作。有趣的是,它試圖在最後一行:$("#nm-container").tabs()
從控制檯。我附上下面的完整代碼。請注意,我使用CoffeeMarklet來生成小書籤,該小書籤似乎只能在Chrome上使用。
s1 = window.document.createElement('script')
s1.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'
window.document.body.appendChild(s1)
$ ->
s2 = window.document.createElement('script')
s2.src = 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js'
window.document.body.appendChild(s2)
jqueryUIcss = window.document.createElement('link')
jqueryUIcss.rel = 'stylesheet'
jqueryUIcss.type = 'text/css'
jqueryUIcss.href = 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/blitzer/jquery-ui.css'
window.document.head.appendChild(jqueryUIcss)
if $("#nm-toolbar").length == 0
toolbar = "<div id='nm-toolbar'></div>"
$("body").append(toolbar)
$("#nm-toolbar").css({
'background': '#fafafa',
'height': '500px',
'width': '400px',
'position': 'fixed',
'bottom': '0px',
'right': '20px',
'padding': '5px'
})
tabs_html = "<div id='nm-container'><ul><li><a href='#tabs-1'>Guidelines</a></li><li><a href='#tabs-2'>Test</a></li></ul>
<div id='tabs-1'><p>something1</p></div><div id='tabs-2'><p>something2</p></div></div>"
$("#nm-toolbar").append(tabs_html)
$("#nm-container").tabs()
看起來像CoffeeMarklet工具使用Ben Alman的jQuery加載解決方案,可以在這裏看到它的未壓縮形式:http://benalman.com/code/javascript/jquery/jquery.ba-run-code-bookmarklet.js – Acorn
這很奇怪。當我只使用自動添加jQuery時,它不起作用,當我使用我自己的代碼時,它仍然不起作用,但一起加載jquery。奇。 – CamelCamelCamel
我認爲您需要修改Ben Alman的代碼,以便在執行'.noConflict'之前加載jQuery UI。 – Acorn