我有这段代码:
<!DOCTYPE HTML>
<html>
<head>
<script
src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"
type="text/javascript" djConfig="parseOnLoad: true"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
var myButton = dojo.byId("btn");
dojo.connect(myButton, "onclick", function (evt) {
require(["dojo/_base/xhr", "dojo/parser", "dojo/dom"], function (xhr, parser, dom) {
xhr.get({
url: "teste_apagar.php",
load: function (data) {
alert("as");
var um = [];
dijit.registry.filter(function(w){
if(dojo.indexOf(um)){
w.destroyRecursive();
}
});
dom.byId("result").innerHTML = data;
parser.parse("result");
}
});
});
});
</script>
</head>
<body class="claro">
<script type="text/javascript">
dojo.require("dijit.Editor");
</script>
<div id="btn" style="width: 100px; height: 30px; margin-bottom: 150px; background-color: red;">load</div>
<div id="result">
</div>
</body>
</html>
但是,当我单击粗体按钮或斜体时,即使右键单击顶部栏中的格式化选项,也会重新加载ajax请求。因此,当我按下格式化工具栏
时,将加载dojo编辑器有什么想法吗? 演示 here
答案 0 :(得分:3)
加载Dojo后,您需要执行Dojo代码。请参阅http://jsbin.com/ukesup/7。
在你做'myButton'的方式是null时,beacuse dojo尚未加载,dojo.byId返回无效值或根本不存在。
还要记住在加载dojo后加载所需的小部件。在示例中,我使用了Dojo&lt; 1.7方式:
dojo.addOnLoad(function() {
dojo.require("dijit.Editor");
...
more code here
...
});