我有一个文本输入,其内容通过javascript更改。但是,onchange事件似乎并未捕获此更改。有没有办法检测输入何时通过Javascript更改?
答案 0 :(得分:3)
使用JQuery以便您可以
$('element').on('input', function () {
alert(this.value);
});
否则,仅使用JavaScript就可以使用onkeyup="alert(this.value);"
如果是datePicker,那么您可能可以使用其onSelect
事件。
此答案为您在评论Date Range Picker how to fire an event on entering a date
中指定的插件添加了一个事件============================引用开始================= ===============
function myCallBack(start, end) {
$('#dateRange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
alert('hello world'); //etc, your code here
}
// attach daterangepicker plugin
$('#dateRange').daterangepicker(options, myCallback);
你甚至可以定义自己的自定义事件处理程序并在回调中触发它。
示例
$(document).on('myCustomEvent', function () {
// your code here
});
$('#dateRange').daterangepicker({
// .. //
function(start, end) {
$('#dateRange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
$(document).trigger('myCustomEvent');
});
============================引用结束================= ===============
答案 1 :(得分:0)
如果要在键入时跟踪更改,请使用onkeydown
。如果您需要使用鼠标捕获粘贴操作,请使用onpaste
(IE,FF3)和oninput
(FF,Opera,Chrome,Safari1)。
答案 2 :(得分:0)
如果您使用的是HTML5,则可以使用input
事件
document.getElementById("textinput").addEventListener("input", function(e){});
答案 3 :(得分:0)
更改输入值后,您可以在输入上调用onchange()
来触发onchange事件
document.getElementById('myInput').onchange();
答案 4 :(得分:0)
在评论中转发我们的对话。
以下是您的DateRangePicker插件On Github
的链接有一个段落可以在回调中使用....
构造函数还采用可选的选项对象和回调 功能。只要选定的日期范围,就会调用该函数 已被用户更改,并传递开始和结束日期 (时刻日期对象)作为参数。
$('input[name="daterange"]').daterangepicker(
{
format: 'YYYY-MM-DD',
startDate: '2013-01-01',
endDate: '2013-12-31'
},
function(start, end) {
alert('A date range was chosen: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
}
);
答案 5 :(得分:0)
实际上,您可以捕获正在发生的更改。
试试这个:
var something = ""; // create variable..
$('input').keyup(function () { // on a key up..
something = $(this).val(); // update the variable..
}
否则,您只需使用.replace(value, '')
删除之前的单词,然后在变量中写入新写入的单词。
要检测更改,您需要保存初始状态,然后将其与最终状态进行匹配。要保存初始状态,您需要在页面加载时创建变量。之后,您可以比较两者并删除初始单词并继续。
答案 6 :(得分:0)
要回答这个问题...使用javascript(因为jquery等不是javascript,因此它是用javascript编程的)
Object.addEventListener("change",yourFunc );
其中Object是您要侦听的对象,这可以是文档,元素,具体取决于要检测的对象。