2009-12-22 52 views
1

爲什麼此語句在C#中的Javascript的OnKeyPress事件中起作用。Javascript onKeyPress事件不起作用?

txtPassword.Attributes.Add("OnKeyUp", "CheckPasswordStrength(\"" 
       + txtPassword.ClientID.ToString() + "\",\""+ lblMessage.ClientID.ToString() +"\")"); 

此代碼工作正常,我的問題是,我想運行按鍵事件不是keyUp事件

+0

我假設CheckPasswordStrength()是一個現有的JavaScript函數? – jaywon 2009-12-22 18:51:14

+0

雅,這是一個JavaScript函數 – 2009-12-22 18:57:24

回答

1

用於Windows/MSIE的onKeyDown。

+0

我想使用OnKeyPress – 2009-12-22 19:27:30

+0

祝你好運,它不會按照您希望的方式工作。我的網絡應用程序的標記總是基於瀏覽器在播放意義上的原則動態生成,MSIE獲取onKeyDown並且所有其他人都獲得onKeyPress。這是解決您的問題的唯一快捷方式,真的。 – DoctorLouie 2009-12-22 19:44:23

+0

「我的網絡應用程序的標記總是基於瀏覽器在播放意義上的原則動態生成」。你如何得到這個? – 2009-12-22 19:59:07

1

你應該通過查看網頁的源檢查渲染輸出,但是我覺得你的問題是關於雙引號。用單引號替換它們。

txtPassword.Attributes.Add("OnKeyUp", "CheckPasswordStrength('" 
      + txtPassword.ClientID.ToString() + "','"+ lblMessage.ClientID.ToString() 
+"')"); 

這可能會呈現爲:

<input onkeyup="CheckPasswordStrength('clientIdhere', 'clientIdhere');" /> 
+0

我相信JavaScript可以使用雙引號或單引號。 – dcp 2009-12-22 18:53:46

+0

是的tehy工作,但周圍的雙引號是問題:) – Canavar 2009-12-22 18:55:04

+0

是的,好趕:)。 – dcp 2009-12-22 18:56:40

0

變化 「的onkeyup」 到 「onkeypress事件?」也許我不理解。

+0

我試圖做到這一點,但是當我將它從onkeyup更改爲onkeypress時,它不起作用 – 2009-12-22 19:23:50