<p>
ボタン付きのリスト( )を作成しました。マウスをそれらの上に移動すると、テキストボックスが黄色でマークされて書き込み可能な場所が表示されるまでに 1.2 秒かかります。マウスを離すと、通常 (白) に変わります。
私の問題は、マウスをボタンの上にすばやく移動すると、多くのテキストボックスがマークされることです。その時、1.2 秒の遅延が機能することを望んでいましたが、機能しません。しかし、マウスをボタンの内外にゆっくり動かすと機能します。
ここにフィドルがあります: http://jsfiddle.net/Pota/Fj6E6/
これが私のJavaScriptコードです
$(function () {
$("p.pRespRoleId").mouseenter(function () {
var timeOut = 1200;
$this = $(this);
$this.data("delay", setTimeout(function () {
mouseInRespRoleId();
}, timeOut)
);
})
.mouseleave(function () {
$this = $(this);
if ($this.next(mouseOutRespRoleId()).is(":visible")) {
clearTimeout($this.data("delay"));
mouseOutRespRoleId();
}
else {
$this.next("p.pRespRoleId").show();
}
});
});
と
function mouseInRespRole()
{
var txtInRespRole = document.getElementById("<%=txtRespRoleName.ClientID %>");
txtInRespRole.style.background = "#FFFF00";
if (document.getElementById('txtRespRoleName').value == '')
{
document.getElementById('txtRespRoleName').innerHTML = txtInRespRole;
return false;
}
}
function mouseOutRespRole()
{
var txtOutRespRole = document.getElementById("<%=txtRespRoleName.ClientID %>");
txtOutRespRole.style.background = "white";
if (document.getElementById('txtRespRoleName').value == '')
{
document.getElementById('txtRespRoleName').innerHTML = txtOutRespRole;
return true;
}
}