Backbone.jsのViewでリンクを生成するコードを紹介します。
プログラム1: 通常のリンクを表示する
コード
下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="jquery-3.2.1.js"></script>
<script src="underscore.js"></script>
<script src="backbone.js"></script>
<script type="text/javascript">
$(function () {
var CView = Backbone.View.extend({
tagName: 'a',
className: 'Clink',
id: 'link01',
attributes: {
href: 'http://www.ipentec.com',
},
render: function () {
this.$el.html('iPentecへのリンクです');
return this;
}
});
var mView = new CView;
$('#output').append(mView.render().el);
});
</script>
</head>
<body>
<div>Header</div>
<div id="output"></div>
<div>Footer</div>
</body>
</html>
解説
リンクを生成するため、Aタグを生成します。ViewのtagNameプロパティに'A'を指定します。タグを指定した生成の詳細については
こちらの記事を参照してください。リンクの遷移先のhref属性の値は、Viewのattributes:プロパティ内のhrefに値を設定します。
リンクの表示文字列はAタグ内の文字列となるため、renderメソッドに記述します。今回の例では、'iPentecへのリンクです'の文字を表示します。
実行結果
上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。id="output" のタグ部分にリンクが表示されます。
リンクをクリックすると、ページが切り替わります。
プログラム2: クリックするとJavaScriptを実行するリンクを表示する
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="jquery-3.2.1.js"></script>
<script src="underscore.js"></script>
<script src="backbone.js"></script>
<script type="text/javascript">
$(function () {
var CView = Backbone.View.extend({
tagName: 'a',
className: 'Clink',
id: 'link01',
attributes: {
href: 'javascript:void(0)',
},
render: function () {
this.$el.html('リンクです');
return this;
},
events: {
'click' : 'onClick'
},
onClick: function (event) {
alert('リンクがクリックされたよ');
}
});
var mView = new CView;
$('#output').append(mView.render().el);
});
</script>
</head>
<body>
<div>Header</div>
<div id="output"></div>
<div>Footer</div>
</body>
</html>
解説
先のコードと同様、Aタグを生成するコードを記述します。リンク先は設定しないため、attributesプロパティ内のhrefには'javascript:void(0)'を指定します。リンクをクリックした際に実行されるコードをclickイベントに実装します。イベントはビューのeventsプロパティ内のclickに実行される関数を設定します。今回のコードでは'onClick'関数を指定しています。onClick関数では、アラートダイアログを表示するコードを記述しています。
実行結果
上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。id="output" のタグ部分にリンクが表示されます。
リンクをクリックすると、JavaScriptが実行され、アラートダイアログが表示されます。
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2017-11-14
作成日: 2017-04-26