私が直面している問題は、Html.TextBoxFor()でキーを押したときにボタンのクリックイベントが自動的に発生することです。私はメインビューを持っています。このビューには3つのボタンがあります。 2つのボタンをクリックするたびに部分ビューが開き、3番目のボタンをクリックすると新しいビューが開きます。私はButton1をクリックし、最初の部分図が開かれたTextBoxFor Enterキーの押下中にボタンのクリックイベントが自動的に発生する
<script>
$(document).ready(function() {
SetUpDatePickers();
});
$('#button1').click(function (event) {
$('#divdefinetraj').toggle();
$('#button1').hide();
$('#button2').hide();
$('#button3').hide();
event.preventDefault();
GetTrajectories();
});
$('#button2').click(function (event) {
$('#divRequestTT').toggle();
$('#button1').hide();
$('#button2').hide();
$('#button3').hide();
event.preventDefault();
});
$('#button3').click(function (event) {
window.location.href = '/UserManagement/UsersList/';
event.preventDefault();
});
</script>
:
部分図は、コードの下にあります。私は押したとき
@Html.TextBoxFor(u => u.TrajName, new { @class = "txtboxclass", @id = "TrajName" })
私の問題がある「と入力し、以下のコードを参照してください。このテキストボックス内のキーを押すと、メインビューのbutton1のコードが実行されています。
$('#button1').click(function (event) {
$('#divdefinetraj').toggle();
$('#button1').hide();
$('#button2').hide();
$('#button3').hide();
event.preventDefault();
GetTrajectories();
});
この結果、すべてのボタンが非表示になり、ユーザーがビューを強制的にリロードしない限り、ビューは無意味になります。
textboxforのonchange()
イベントを処理しようとしましたが、以下の機能にリダイレクトされましたが、処理されません。
function EnterKeyFilter() {
if (window.event.keyCode == 13) {
event.returnValue = false;
event.cancel = true;
}
}
私はdiv-click()と同じ機能を試しましたが、動作しません。 Enterキーを押すと、正確なbutton1クリックがこの情報event = j…y.Event {originalEvent: MouseEvent, type: "click", timeStamp: 7055.025000000001, jQuery110208686809991100928: true, toElement: button#button1
で処理されています。
でも、私はそれをクリックしていません。部分図はフォームの一部でもなく、フォーム提出は問題ではありません。私はASP.NET MVCが新しく、この奇妙な動作と混同しています。助けてください。前もって感謝します。
をあなたはいくつかにフォーカスを設定しようとすることができ何もしない隠しコントロール。 – Tatranskymedved
誰かがキーボードで入力を押したときに何も起こらないようにしたいですか? –
@WillyDavidJr:はい。まったく。 – ViVi