電話する
element.focus();
element は type=button の HTMLInputElement です。しかし、ブラウザはボタンをクリックします! それはモジラとクロムにあります。
選択したボタンを強調表示し、クリック イベントを開始しないようにするにはどうすればよいですか?
電話する
element.focus();
element は type=button の HTMLInputElement です。しかし、ブラウザはボタンをクリックします! それはモジラとクロムにあります。
選択したボタンを強調表示し、クリック イベントを開始しないようにするにはどうすればよいですか?
なるほど、原因がわかりました。Enter キーの onkeydown イベントを処理していました。解決策は、e.preventDefault(); を使用することです。
function ConvertEnterToTab(s, e, numSkipElements) {
var keyCode = e.keyCode || e.htmlEvent.keyCode;
if (keyCode === 13) {
var tabIndex = s.tabIndex || s.inputElement.tabIndex;
if (numSkipElements == undefined) {
numSkipElements = 0;
}
var nextElement = FindNextElementByTabIndex(tabIndex + numSkipElements);
if (nextElement != undefined) {
nextElement.focus();
return e.preventDefault ? e.preventDefault() : e.htmlEvent.preventDefault(); // this is the solution
}
}
}
function FindNextElementByTabIndex(currentTabIndex, maxTabIndex) {
if (maxTabIndex == undefined) {
maxTabIndex = 100;
}
var tempIndex = currentTabIndex + 1;
while (!$('[tabindex='+ tempIndex+ ']')[0] || tempIndex === maxTabIndex) {
tempIndex++;
}
return $('[tabindex=' + tempIndex + ']')[0];
}
いいえ.focus()
、ボタンをクリックしないか、フォームを送信しません: http://jsbin.com/onirac/1/edit
それはまさにあなたが望むことをします。