ユーザーが好む色でセルを強調表示しようとしています。ユーザーはセルを選択し、マウスをドラッグして、選択した色で色付けする複数のセルを選択します。ユーザーがインラインイベントハンドラーを使用せずにマウスをクリックしてドラッグしたときに、別のファイルにあるjavascript関数をトリガーするにはどうすればよいですか(ファイルをhtmlファイルに含める必要があることはわかっています。すでに行っています)。
コードはドラッグアンドセレクトするためのものですが、ユーザーがセルをクリックアンドドラッグしたときにこの関数を呼び出したいと思います。google.setOnLoadCallBackを使用してこの関数を呼び出す前は、1回しか呼び出されませんでした。ユーザーに複数の選択肢を持たせたい。私は理にかなっていると思います。
HTML
<section id="importance">
<label class="green">Green</label>
<input type="radio" name="importance" value="green">
<label class="yellow">Yellow</label>
<input type="radio" name="importance" value="yellow">
<label class="orange">Orange</label>
<input type="radio" name="importance" value="orange">
<label class="red">Red</label>
<input type="radio" name="importance" value="red">
</section>
<table cellpadding="0" cellspacing="0" id="our_table">
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
<tr>
<td>g</td>
<td>h</td>
<td>i</td>
</tr>
</table>
Javascript
function select_multiple() {
var isMouseDown = false;
// id for all the cells that were selected at the same time
var colorGroupId = Math.floor(Math.random() * 1000);
var highlight = find_importance_color();
$("#our_table td")
.mousedown(function () {
isMouseDown = true;
$(this).toggleClass(highlight);
$(this).attr("data-highlightedId", colorGroupId);
return false; // prevent text selection
})
.mouseover(function () {
if (isMouseDown) {
$(this).addClass(highlight);
}
});
$("#our_table td")
.mouseup(function (event) {
isMouseDown = false;
// time_importance(event);
});
}
function find_importance_color() {
return $('#importance input[name=importance]:checked').val();
}
CSS
.green {
background-color: green;
}
.yellow {
background-color: yellow;
}
.orange {
background-color: orange;
}
.red {
background-color: red;
}
table td {
width:100px;
height:100px;
text-align:center;
vertical-align:middle;
background-color:#ccc;
border:1px solid #fff;
}