下面的代码有什么问题?
问题描述:
我得到一个控制台错误:'未捕获的SyntaxError:意外的令牌 - ' 有什么不对?请有人帮忙吗?下面的代码有什么问题?
$(document).ready(function() {
$("#widget_settings_holder").find(".tbLanguageTabs").first().tabs();
var cmpt-br = CodeMirror.fromTextArea(document.getElementById("text_widget_text_pt-br"), {
mode: "htmlmixed",
lineNumbers: true,
tabMode: "indent"
});
$(tbApp).off("tbWidget:onUpdate.textWidget").one("tbWidget:onUpdate.textWidget", function(event, $widget, $form) {
if ($widget.attr("id").split("_")[1] != "HtmlWidget") {
return;
}
cmpt-br.toTextArea();
$form.find("textarea[name$='[text]']").each(function() {
$(this).val(utf8_to_b64($(this).val()));
});
});
});
答
JavaScript不允许在变量名称中使用破折号。
所以你行
var cmpt-br = CodeMirror.fromTextArea(document.getElementById("text_widget_text_pt-br"), {
是因为你的变量的名称不正确。你可以使用下划线来达到你的目的。
var cmpt_br = CodeMirror.fromTextArea(document.getElementById("text_widget_text_pt-br"), {
答
var cmpt-br =
使用下划线,而不是一个连字符。 JavaScript将其评估为表达式。
[在JavaScript变量名称中允许破折号是否可能重复?](http://stackoverflow.com/q/5516106/1529630) – Oriol