「knockout.jsの表示の内外でクリックしたときに何かする」を別ウィンドウで開く
各種サンプルとソース一覧
|
PCスキルの小技・忘却防止メモ
|
knockout.jsの表示の内外でクリックしたときに何かする
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>knockout.jsの表示の内外でクリックしたときに何かする</title>
<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="knockout-2.1.0beta.js"></script>
<script type="text/javascript">
$(document).ready(function () {
ko.applyBindings(new ViewModel());
BindOfClickEvent();
});
function ViewModel() {
var self = this;
self.jsonData = ko.observableArray();
$.getJSON("./testdata/testdataB.txt", {}, function(json){
self.jsonData(json.item);
}
);
}
function BindOfClickEvent()
{
$('a.BehaviorClick').bind('click', EventWhenClick);
}
var EventWhenClick = function (data, event) {
if (event != undefined)
{
// koの中の場合
htmlDom = event.target;
elmA = $(htmlDom).parents("a");
}
else
{
htmlDom = this;
elmA = $(htmlDom);
}
elmImg = elmA.children("img");
if ( $(htmlDom).parents("td").css("backgroundColor") == "transparent" )
{
elmImg.attr("src", "images/sample_flow2.gif");
$(htmlDom).parents("td").css("backgroundColor", "#ffffcc");
}
else
{
elmImg.attr("src", "images/sample_flow1.gif");
$(htmlDom).parents("td").css("backgroundColor", "transparent");
}
return false;
};
</script>
<style type="text/css">
table{margin-top:0.5em;}
th, td{
border:1px solid #ccc;
}
td
{
padding:8px;
}
caption
{
white-space:nowrap;
}
img
{
border:1px solid #333;
}
</style>
</head>
<body>
<h1>knockout.jsの表示の内外でクリックしたときに何かする</h1>
<div class="wrap">
<table>
<caption>ただの画像</caption>
<thead><tr><th>クリック</th></thead>
<tbody>
<tr>
<td><a href="#" class="BehaviorClick"><img src="images/sample_flow1.gif" /></a></td>
</tr>
</tbody>
</table>
<table>
<caption>knockout.jsでjsonを読み込み表示したもの</caption>
<thead><tr><th>品名</th><th>金額</th><th>クリック</th></thead>
<tbody data-bind="foreach: jsonData">
<tr>
<td data-bind="text: name"></td>
<td data-bind="text: price"></td>
<td><a href="#" data-bind="click: EventWhenClick"><img src="images/sample_flow1.gif" /></a></td>
</tr>
</tbody>
</table>
</div>
<div style="font-size:10pt;text-align:right;margin-top:0.5em;">
<a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
<a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
</div>
<div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
Copyright © 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
</div>
</body>
</html>