按下 Tab 键时替换输入文本(Chrome 扩展名)
Replacing input text when tab is pressed ( Chrome Extension )
所以基本上我想做的是确定输入栏是否输入了 "y",当按下 tab 键时将 y 替换为 "youtube "。
Javascript
var input = document.getElementById('searchbar').value;
var words = input.split(" ");
$("#searchbar").keydown(function(e) {
if(e.keyCode == 9) {
e.preventDefault();
if(input == 'y') {
$('#searchbar').text('youtube');
}
}
});
目前我没有收到任何错误消息,只是无法正常工作。 Tab 键还会将焦点从输入栏移开。
原因如下
- 您应该在 keydown 上获取值,而不是在页面加载时获取值,因为在加载页面时值是空的。
- 在使用 jquery 时,使用 jquery facade/selector
获取输入的当前值
- 最后你更新了输入框的值而不是文本
试试这个
$("#searchbar").keydown(function(e) {
var input = $('#searchbar').val();
var words = input.split(" ");
if(e.keyCode == 9) {
if(input == 'y') {
$('#searchbar').val('youtube');
}
e.preventDefault();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Enter Search Term
<input type="text" id="searchbar">
所以基本上我想做的是确定输入栏是否输入了 "y",当按下 tab 键时将 y 替换为 "youtube "。
Javascript
var input = document.getElementById('searchbar').value;
var words = input.split(" ");
$("#searchbar").keydown(function(e) {
if(e.keyCode == 9) {
e.preventDefault();
if(input == 'y') {
$('#searchbar').text('youtube');
}
}
});
目前我没有收到任何错误消息,只是无法正常工作。 Tab 键还会将焦点从输入栏移开。
原因如下
- 您应该在 keydown 上获取值,而不是在页面加载时获取值,因为在加载页面时值是空的。
- 在使用 jquery 时,使用 jquery facade/selector 获取输入的当前值
- 最后你更新了输入框的值而不是文本
试试这个
$("#searchbar").keydown(function(e) {
var input = $('#searchbar').val();
var words = input.split(" ");
if(e.keyCode == 9) {
if(input == 'y') {
$('#searchbar').val('youtube');
}
e.preventDefault();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Enter Search Term
<input type="text" id="searchbar">