私は JavaScript と Dojo が初めてで、別の URL に動的に移動するコードを記述しようとしています。これは JavaScript で簡単にできるようですが、dojo/on ではうまくいきません。これが私のコード例です。些細なコールバックは正常に機能します。dojo/on コールバックはコールバックを呼び出しますが、新しいページは表示されません。私のプロジェクトがそれを必要とするという理由だけで、これを動的に dojo で行う必要があります。これが失敗する理由と、それを機能させる方法を知っている人はいますか?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/dojo.js">
</script>
<script type="text/javascript">
callback = function() {
window.location.href = "about:blank";
console.debug("callback invoked");
}
function init() {
var node = dojo.byId("test");
var childNode = dojo.create("a", { href : "" }, node);
childNode.innerText = "dojo callback click here";
require(["dojo/on"], function(on){
on(childNode, "click", callback);
});
}
dojo.ready(init);
</script>
<div id="test">
<p>
<a href = "javascript:callback()">trivial callback click here</a>
</div>