From 8e53f7b5d6716e60d8c8ea7e167f2b187aae9d89 Mon Sep 17 00:00:00 2001 From: jeresig Date: Tue, 12 Jan 2010 21:54:06 -0500 Subject: [PATCH] Fixed typo in logic, also disabled function setters in this case to allow the functions to passthrough and bind. --- Makefile | 2 +- build.xml | 2 +- src/core.js | 2 +- src/event.js | 4 ++-- test/unit/core.js | 8 +++++++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index fdb57bd..972cb4d 100644 --- a/Makefile +++ b/Makefile @@ -8,10 +8,10 @@ BASE_FILES = ${SRC_DIR}/core.js\ ${SRC_DIR}/support.js\ ${SRC_DIR}/data.js\ ${SRC_DIR}/queue.js\ + ${SRC_DIR}/attributes.js\ ${SRC_DIR}/event.js\ ${SRC_DIR}/selector.js\ ${SRC_DIR}/traversing.js\ - ${SRC_DIR}/attributes.js\ ${SRC_DIR}/manipulation.js\ ${SRC_DIR}/css.js\ ${SRC_DIR}/ajax.js\ diff --git a/build.xml b/build.xml index 8e8fcf9..0aeb476 100644 --- a/build.xml +++ b/build.xml @@ -47,10 +47,10 @@ + - diff --git a/src/core.js b/src/core.js index 467895f..edd1089 100644 --- a/src/core.js +++ b/src/core.js @@ -772,7 +772,7 @@ function access( elems, key, value, exec, fn, pass ) { // Setting one attribute if ( value !== undefined ) { // Optionally, function values get executed if exec is true - exec = exec && jQuery.isFunction(value); + exec = !pass && exec && jQuery.isFunction(value); for ( var i = 0; i < length; i++ ) { fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); diff --git a/src/event.js b/src/event.js index ea1c14e..0234998 100644 --- a/src/event.js +++ b/src/event.js @@ -919,8 +919,8 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl return fn ? this.bind( name, fn ) : this.trigger( name ); }; - if ( jQuery.fnAttr ) { - jQuery.fnAttr[ name ] = true; + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; } }); diff --git a/test/unit/core.js b/test/unit/core.js index 990926d..85b421d 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -12,7 +12,7 @@ test("Basic requirements", function() { }); test("jQuery()", function() { - expect(22); + expect(23); // Basic constructor's behavior @@ -63,9 +63,12 @@ test("jQuery()", function() { equals( jQuery(document.body).get(0), jQuery('body').get(0), "Test passing an html node to the factory" ); + var exec = false; + var elem = jQuery("
", { width: 10, css: { paddingLeft:1, paddingRight:1 }, + click: function(){ ok(exec, "Click executed."); }, text: "test", "class": "test2", id: "test3" @@ -78,6 +81,9 @@ test("jQuery()", function() { equals( elem[0].firstChild.nodeValue, "test", 'jQuery quick setter text'); equals( elem[0].className, "test2", 'jQuery() quick setter class'); equals( elem[0].id, "test3", 'jQuery() quick setter id'); + + exec = true; + elem.click(); }); test("selector state", function() { -- 1.7.10.4