什么是此代码的jQuery版本?

时间:2012-04-16 12:29:07

标签: javascript jquery

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

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

这是因为jQuery不喜欢addEventListener()

7 个答案:

答案 0 :(得分:5)

那就是......

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

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

答案 1 :(得分:4)

$("#cars").bind("change",handleFileSelect)

答案 2 :(得分: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

答案 3 :(得分:1)

基本上你的答案是:

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

然而,change事件被其他一些内置事件处理程序使用,因此您可能希望远离将特定字符串用作事件 - 除非您当然希望捕获那个< / strong>事件。 :P

  

更改事件在其值更改时发送到元素。这个   事件仅限于<input>元素,<textarea>框和<select>   元素。对于选择框,复选框和单选按钮,事件   当用户使用鼠标进行选择时立即触发,   但对于其他元素类型,事件将延迟到   元素失去焦点。


jQuery documentation说这是为了描述bind函数:

  

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

答案 4 :(得分:1)

你可以尝试:

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

根据jQuery文档:

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

http://api.jquery.com/live/(现场)

鉴于选择众多,你必须选择更清晰的人和那个能够轻松理解你的人。

希望它有所帮助!

答案 5 :(得分:0)

$("#cars").on('change', handleFileSelect);

答案 6 :(得分:-1)

$("#cars").live("change",handleFileSelect)

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