我正在使用 jQuery 我想知道下面 JavaScript 代码的 jQuery 版本是什么:
document
.getElementById('cars')
.addEventListener('change', handleFileSelect, false);
这是因为 jQuery 不喜欢addEventListener()
.
我正在使用 jQuery 我想知道下面 JavaScript 代码的 jQuery 版本是什么:
document
.getElementById('cars')
.addEventListener('change', handleFileSelect, false);
这是因为 jQuery 不喜欢addEventListener()
.
那将是...
$('#cars').change(handleFileSelect);
jQuery确实喜欢addEventListener()
. 事实上,我确信它是其事件的首选实现(作为标准)。
$("#cars").bind("change",handleFileSelect)
$('.#cars').change(handleFileSelect);
分解:
// document.getElementById('cars')
$('#cars'); // #<name> is id reference,
// .<name> is class reference
// <name> is an HTML tag reference
// addEventListener
.bind('change', handleFileSelect) // "broad" binding
.change(handleFileSelect) // jQuery short-hand of above
基本上你的答案是这样的:
$("#files").bind("change",handleFileSelect);
但是,该change
事件被其他一些内置事件处理程序使用,因此您可能希望避免使用该特定字符串作为您的事件 - 除非您当然希望捕获该事件。:P
当元素的值改变时,change 事件被发送到元素。此事件仅限于
<input>
元素、<textarea>
框和<select>
元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时会立即触发该事件,但对于其他元素类型,该事件会延迟到元素失去焦点为止。
jQuery 文档是这样描述bind
函数的:
将处理程序附加到元素的事件。
你可以试试:
$('#cars').bind('change', function() { //your code goes here });
根据 jQuery 文档:
http://api.jquery.com/bind/(绑定)
http://api.jquery.com/live/(直播)
鉴于选择的数量众多,您必须选择更清晰且易于理解的那个。
希望能帮助到你!
$("#cars").on('change', handleFileSelect);
$("#cars").live("change",handleFileSelect)
如果您的输入元素是由 javascript 动态创建的,这将很有帮助。