2

私はこのようなjavascript関数を持っています:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "watermark", "function WaterMark(txtWaterMark, event, text) {if(event.type == 'keyup') {var charCode; if (event.charCode) { charCode = event.charCode;} else { charCode = event.keyCode; } if(charCode == 9 && txtWaterMark.value.length == 0) txtWaterMark.value = 'Pakistan';}  if (txtWaterMark.value.length > 0 && event.type == 'mouseover') { txtWaterMark.style.color = '#c6c1c1'; } if (txtWaterMark.value.length > 0 && event.type == 'mouseout') { txtWaterMark.style.color = 'gray';} if (txtWaterMark.value.length == 0 && event.type == 'mouseout') {txtWaterMark.value = text; }  if (event.type == 'focus') {txtWaterMark.style.color = 'gray'; if (txtWaterMark.value == text) { txtWaterMark.value = ''; } }}", true);

そして私はそれをこのように呼んでいます:

  <asp:TextBox ID="txtFirstName" runat="server" Width="110px" Text="First Name."
                ForeColor="Gray" onmouseover="WaterMark(this, event,'First Name.');" onmouseout="WaterMark(this, event,'First Name.');"
                onfocus="WaterMark(this, event,'First Name.');" onkeyup="WaterMark(this, event,'First Name.');" ToolTip="First Name."
                ValidationGroup="CheckoutConfirm"></asp:TextBox>

ユーザーがタブキーを押してテキストボックス間を移動すると、テキストボックスにテキストが追加されるように、キーアップイベントを使用していますが、タブを押した後にフォーカスがテキストボックス内にあるときにキーアップが発生します。「フォーカスが失われた」のようなイベントが必要です。ぼかしを試しましたが、メリットはありません。

4

1 に答える 1

1

ユーザーが入力フィールドを離れると、Javaスクリプトが起動するblurイベントがあります。

http://www.w3schools.com/jsref/event_onblur.asp

于 2012-07-12T07:44:41.207 に答える