-1

我正在使用 jQuery 我想知道下面 JavaScript 代码的 jQuery 版本是什么:

document
      .getElementById('cars')
      .addEventListener('change', handleFileSelect, false);

这是因为 jQuery 不喜欢addEventListener().

4

7 回答 7

5

那将是...

$('#cars').change(handleFileSelect);

jQuery确实喜欢addEventListener(). 事实上,我确信它是其事件的首选实现(作为标准)。

于 2012-04-16T12:30:21.577 回答
4
$("#cars").bind("change",handleFileSelect)
于 2012-04-16T12:30:55.837 回答
2
$('.#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
于 2012-04-16T12:30:46.947 回答
1

基本上你的答案是这样的:

$("#files").bind("change",handleFileSelect);

但是,该change事件被其他一些内置事件处理程序使用,因此您可能希望避免使用该特定字符串作为您的事件 - 除非您当然希望捕获事件。:P

当元素的值改变时,change 事件被发送到元素。此事件仅限于<input>元素、<textarea>框和<select> 元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时会立即触发该事件,但对于其他元素类型,该事件会延迟到元素失去焦点为止。


jQuery 文档是这样描述bind函数的:

将处理程序附加到元素的事件。

于 2012-04-16T12:30:48.477 回答
1

你可以试试:

$('#cars').bind('change', function() { //your code goes here });

根据 jQuery 文档:

http://api.jquery.com/bind/(绑定)

http://api.jquery.com/live/(直播)

鉴于选择的数量众多,您必须选择更清晰且易于理解的那个。

希望能帮助到你!

于 2012-04-16T12:32:21.790 回答
0
$("#cars").on('change', handleFileSelect);
于 2012-04-16T12:33:09.347 回答
-1
$("#cars").live("change",handleFileSelect)

如果您的输入元素是由 javascript 动态创建的,这将很有帮助。

于 2012-04-16T12:35:36.757 回答