我正在使用rottentomatoes电影API和twitter的typeahead插件使用bootstrap 2.0.我已经能够整合API,但我遇到的问题是在每个keyup事件之后调用API.这一切都很好,但是我宁愿在一个小暂停之后拨打电话,让用户先输入几个字符.
这是我在keyup事件后调用API的当前代码:
var autocomplete = $('#searchinput').typeahead()
.on('keyup', function(ev){
ev.stopPropagation();
ev.preventDefault();
//filter out up/down, tab, enter, and escape keys
if( $.inArray(ev.keyCode,[40,38,9,13,27]) === -1 ){
var self = $(this);
//set typeahead source to empty
self.data('typeahead').source = [];
//active used so we aren't triggering duplicate keyup events
if( !self.data('active') && self.val().length > 0){
self.data('active', true);
//Do data request. Insert your own API logic here.
$.getJSON("http://api.rottentomatoes.com/api/public/v1.0/movies.json?callback=?&apikey=MY_API_KEY&page_limit=5",{
q: encodeURI($(this).val())
}, function(data) {
//set this to true when your callback executes
self.data('active',true);
//Filter out your …
Run Code Online (Sandbox Code Playgroud) 我有一个表单字段,我需要能够检测字段何时更改并使用字段的新值执行一些其他代码.如果按下的键实际上改变了文本框的值,我只想执行代码.这是我提出的解决方案.
function onkeypress(e) {
var value = this.value;
// do something with
}
function onkeyup(e) {
if ( e.which == 8 || e.keyCode == 46 ) { // delete or backspace keys
this.onkeypress(e);
}
}
Run Code Online (Sandbox Code Playgroud)
但是只有一个问题.onkeypress在字段值更新之前被触发,所以当我获取值时,我得到之前的值.如果我知道一种方法来测试密钥是否改变了值,我会专门使用密钥,但是某些字符(如箭头键)对字段的值没有影响.
有任何想法吗?
我正在使用Cleditor http://premiumsoftware.net/cleditor/docs/GettingStarted.html.我想获取keyup的值并将文本插入另一个div.cleditor带有我正在下面的jsfiddle示例中使用的change()事件,但这与keyup不同.我希望在我输入时更新div.我尝试过键盘但它不起作用.
这就是我现在拥有的
$("#input").cleditor().change(function(){
var v = $('#input').val();
$('#x').html(v);
})
Run Code Online (Sandbox Code Playgroud)
检查jsfiddle http://jsfiddle.net/qm4G6/11/
在我的活动中,操作栏仅显示左箭头和活动标题.
当我按下向左箭头时,活动返回到上一个活动,但在onKeyUp,OnkeyDown和OnBackPressed方法中没有注册任何事件.
但是当我按下手机上的Back键(在底部)时,活动将返回到前一个,并且onKeyUp,OnKeyDown和OnBackPressed上的所有方法都会注册一个事件(在logcat中).
如何捕获左箭头(我认为它被称为UP按钮)?
我需要捕获密钥的原因是在onPause方法中知道活动是由用户而不是系统销毁的(例如,如果用户切换到另一个活动).
通过进一步研究他的问题,我发现UP按钮给出了一个由onOptionsItemSelected方法捕获的事件,因为菜单上没有其他按钮,我知道它就是这个按钮.
尝试为Command + S实现快捷键组合以保存表单.
我已经读过这个 - https://angular.io/guide/user-input,但它没有说任何关于元或命令的内容.
尝试围绕表格:
<div
(keyup.command.s)="save()"
(keyup.command.u)="save()"
(keyup.control.u)="save()"
(keyup.control.s)="save()"
(keyup.meta.u)="save()"
>
Run Code Online (Sandbox Code Playgroud)
其中,只有control.u
和control.s
工作.
凭借Angular 2+的所有强大功能和跨浏览器功能,我希望以某种方式以优雅的方式处理,使用(keyup...)
.
肯定很多Angular Devs都使用Macs :).
我还读过如何通过JavaScript捕获Mac的命令键?和http://unixpapa.com/js/key.html但仍然希望Angular优雅的解决方案,而不是与浏览器特定的东西打架......
是否有其他人keyup
在iOS 9 中遇到问题没有解雇?
只是一个简单的测试床为我复制了这个问题.
<input id="txtInput" />
Run Code Online (Sandbox Code Playgroud)
香草JS:
document.getElementById('txtInput').onkeyup = function () {
console.log('keyup triggered');
}
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('#txtInput').on('keyup', function () {
console.log('keyup triggered');
});
Run Code Online (Sandbox Code Playgroud)
既不火......
我正在使用jQuery,并希望用户在将数据输入搜索字段后开始搜索时可以按Enter键.
我正在使用以下代码:
$('#textSearch').keyup(function (event) {
if (event.keyCode == '13') {
doSearch();
}
return false;
});
Run Code Online (Sandbox Code Playgroud)
它在Firefox和IE中完美运行,但在Safari中完全没有.当我在safari中输入并且这不是我想要的时候,表单正在提交.
添加onsubmit ="return false;" 到表单工作,但不是一个选项,因为表单标签在asp.net页面的母版页上,我需要在其他页面上提交表单.
有没有办法让这个功能在Safari中运行?
编辑:我也尝试只显示警告而不是doSearch()函数.警报显示正常但在此之后表单正在提交.
我想在300毫秒之后在文本框的密钥上发起一个事件
$("#blah").keyup(function () {
//code is here
}).delay(300).myfunction();
Run Code Online (Sandbox Code Playgroud)
当我尝试执行此功能时,我发现myfunction不是函数的错误.
所以任何人都可以解释我如何在文本框中的键盘后300毫秒后执行一个函数
<input type="text" />
Run Code Online (Sandbox Code Playgroud)
如何在JavaScript/jQuery中编写input
on 的字符数.keyup
?
我正在做一个 React 编码挑战,需要在 KeyUp 上更新一个值。我最初将它设置为更新 onChange 但测试需要 onKeyUp 所以我尝试将其更改为该值,但我的字段不再更新并且我无法在 textarea 中输入任何内容。
class MarkdownApp extends React.Component {
constructor(props) {
super(props);
this.state = {
value: ''
};
this.handleKeyUp = this.handleKeyUp.bind(this);
}
handleKeyUp(event) {
this.setState({ value: event.target.value })
}
render() {
return (
<form>
<label>
Enter your markdown here:
<br />
<textarea value={this.state.value} onKeyUp={this.handleKeyUp} id='editor' />
<br />
</label>
<label>
Your markup will be previewed here:
<p id='preview'>{marked(this.state.value)}</p>
</label>
</form>
);
}
}
ReactDOM.render(
<MarkdownApp />,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
就像我说的,当它是 onChange 并且我的函数是 handleChange 时,这很好用,但是因为我切换了它,所以我无法输入任何内容。