jquery(html,attributes)在属性调用函数中

时间:2015-01-22 18:56:44

标签: jquery

http://api.jquery.com/jQuery/#jQuery-html-attributes,有一条说明:

从jQuery 1.8开始,任何jQuery实例方法(jQuery.fn的方法)都可以用作传递给第二个参数的对象的属性

我猜测函数可以通过某种方式多次调用,但给出的示例显示了一次调用的on()方法,并且不显示多个事件。有人可以提供或指出一个更复杂的例子吗?

1 个答案:

答案 0 :(得分:0)

根据我所看到的,这只是创建元素和附加事件的另一种形式。

例如,这意味着您可以执行以下操作,将所有属性作为第二个参数传递:

$("<p></p>", {
  "class": "my-class",
  "text": "This is a test",
    click: function() {
      $(this).css('color', 'blue');
    },
    mouseenter: function() {
     $(this).css('color', 'red');
    },
    mouseout: function() {
     $(this).css('color', 'green');   
    }
}).appendTo( "body" );

这只是另一种方法:

$("<p></p>")
  .addClass("my-class")
  .text("This is a test too")
  .click(function() { $(this).css('color', 'blue'); })
  .mouseenter(function() { $(this).css('color', 'red'); })
  .mouseout(function() { $(this).css('color', 'green'); })
  .appendTo( "body" );

该页面说:“虽然第二个参数很方便,但它的灵活性会导致意外后果(例如$(”“,{size:”4“})调用.size()方法而不是设置size属性)“。

很高兴知道做同样事情的不同形式,但我将继续使用第二个。 :)

JSFiddle上面的示例:http://jsfiddle.net/m4f415dt/