]>
source.dussan.org Git - jquery.git/log
Sean Henderson [Thu, 3 Sep 2015 15:48:20 +0000 (17:48 +0200)]
Manipulation: Switch rnoInnerhtml to a version more performant in IE
IE versions greater than 9 do not handle the old regular expression well
with large html content. This is due to the use of a non-capturing group
after a very common html character (<).
Test suite: http://jsfiddle.net/Lwa0t5rp/3/
Microsoft bug: https://connect.microsoft.com/IE/feedback/details/
1736512 /
Fixes gh-2563
Closes gh-2574
Michał Gołębiowski [Tue, 8 Sep 2015 16:57:39 +0000 (18:57 +0200)]
Tests: Really fix tests in IE 8 this time
IE 8 doesn't have indexOf on arrays. Also, one toLowerCase() was missing. Oops.
This commit is not necessary on master but has been brought here to keep
tests similar in both branches.
(cherry-picked from
1b48eef4caf7fa3aba0ee1a3473e0d46487d20ea )
Michał Gołębiowski [Tue, 8 Sep 2015 16:43:08 +0000 (18:43 +0200)]
Tests: Make basic tests work in IE 8
IE 8 prints tag names in upper case which was breaking some tests.
This commit is not necessary on master but has been brought here to keep
tests similar in both branches.
Michał Gołębiowski [Tue, 8 Sep 2015 16:36:02 +0000 (18:36 +0200)]
Tests: Don't load non-basic tests when basic module is selected
When loading basic tests don't load any others to not overload Android 2.3.
The drawback is that most tests are not selectable in the module dropdown
when the basic module is seelcted.
Refs
2c7e9c934971500a746d012c529e13ec0b560a83
Michał Gołębiowski [Wed, 29 Jul 2015 22:54:00 +0000 (00:54 +0200)]
Tests: Add simple tests for Android 2.3
Fixes gh-2505
Closes gh-2509
Refs gh-2483
Michał Gołębiowski [Mon, 3 Aug 2015 18:28:37 +0000 (20:28 +0200)]
Build: Don't install jsdom 3 on Node.js 0.10 & 0.12 by default
jsdom 3 requires Python & Visual Studio on Windows which is a significant
barrier to contributors. Newer jsdom versions don't require pre-compiling
but work only on io.js. This commit installs the new jsdom everywhere (it
does install in old Node.js, it just won't work) and executes Node-related
tests only on newer Nodes or if a working jsdom version is installed. The
latter can be achieved by running the `old_jsdom` task.
Node.js is merging with io.js soon so this will become a smaller problem over
time.
One drawback is our Jenkins setup runs on Node 0.10 so it won't be running
Node tests anymore. We have Travis set up on io.js, though so all PRs
have those tests run. When the new LTS Node.js arrives (as it soon merges
with io.js) we should update our Jenkins infrastructure so that it runs on this
new version.
Fixes gh-2519
Closes gh-2526
Michał Gołębiowski [Mon, 3 Aug 2015 17:45:26 +0000 (19:45 +0200)]
Traversing: Don't expose jQuery.dir & jQuery.sibling
jQuery.dir & jQuery.sibling are undocumented internal APIs; they shouldn't
be exposed.
Fixes gh-2512
Closes gh-2525
Oleg Gaidarenko [Tue, 8 Sep 2015 00:28:56 +0000 (03:28 +0300)]
Tests: more style corrections
Provocated by jscs-dev/node-jscs@
2de68c0d8351103bb2a989dc942ab47a391d3546
Closes gh-2578
Oleg Gaidarenko [Tue, 8 Sep 2015 00:26:29 +0000 (03:26 +0300)]
Tests: further improvements QUnit 2.0 migration
* Remove QUnit jshint globals
* Extend QUnit.assert methods
* Use assert.async instead of start/stop/done
Ref
b930d14ce64937e9478405eee2828d4da091d2cb
Thomas Tortorini [Sun, 10 May 2015 23:39:26 +0000 (01:39 +0200)]
Effects: Finish should call progress
Fixes gh-2283
Closes gh-2292
Yongwoo Jeon [Thu, 2 Jul 2015 06:33:38 +0000 (15:33 +0900)]
Core: Remove unnecessary parameter to jQuery#constructor
Closes gh-2441
Batiste Bieler [Tue, 7 Jul 2015 08:38:44 +0000 (10:38 +0200)]
Build: Fix an email address of a contributor
Closes gh-2455
Jason Bedard [Sun, 23 Aug 2015 21:23:35 +0000 (14:23 -0700)]
Data: do not create data cache when fetching single property
Closes gh-2554
Oleg Gaidarenko [Mon, 7 Sep 2015 23:33:43 +0000 (02:33 +0300)]
Build: put back "lint" command to the "dev" list
Also fix lint error in `data` module.
It seems this command was removed from the list during merge
Jason Bedard [Tue, 25 Aug 2015 02:56:57 +0000 (19:56 -0700)]
Data: Don't expose jQuery.acceptData
jQuery.acceptData is an undocumented internal API that shouldn't be exposed.
Fixes gh-2555
Michał Gołębiowski [Mon, 7 Sep 2015 22:40:52 +0000 (00:40 +0200)]
Tests: lower the PHP sleep time in unreleasedXHR.html
The AJAX test performed in unreleasedXHR.html was scheduling PHP processes
sleeping for 10 minutes. When a lot of commits are tested in short intervals
this was causing build failures due to the drained php-fpm pool.
The 10 seconds sleep time should be enough for this test.
Refs
62acda819f9b6fba9263d0b613e15285807b23a7
Michał Gołębiowski [Mon, 7 Sep 2015 21:22:56 +0000 (23:22 +0200)]
Serialize: Fix object detection
jQuery.type doesn't just return "null" for null but also e.g. "array"
for arrays instead of object so it's not really a typeof analogue.
My suggestion was stupid. Sorry.
Refs
3d7ce0a65f0707ff01a851822e57ba80adcff075
Daniel Nill [Fri, 7 Aug 2015 02:49:14 +0000 (19:49 -0700)]
Serialize: Handle arrays with null values
Closes gh-2436
Reed Loden [Mon, 24 Aug 2015 19:24:56 +0000 (12:24 -0700)]
Build: Update grunt-contrib-uglify because of a security issue in uglify
Update grunt-contrib-uglify dependency to v0.9.2 in order to
avoid a security issue fixed in uglify-js v2.4.24.
https://github.com/mishoo/UglifyJS2/issues/751
https://zyan.scripts.mit.edu/blog/backdooring-js/
Closes gh-2556
Thomas Tortorini [Sat, 27 Jun 2015 15:18:21 +0000 (17:18 +0200)]
Effects: Remove additional parameters of easings
Fixes gh-2367
Closes gh-2376
Oleg Gaidarenko [Thu, 3 Sep 2015 00:01:28 +0000 (03:01 +0300)]
Ajax: do not quote "throws" option - use dot notation instead
Fixes gh-2571
Closes gh-2542
Oleg Gaidarenko [Wed, 2 Sep 2015 23:53:29 +0000 (02:53 +0300)]
Build: correct style tests files which could be automatically corrected
Oleg Gaidarenko [Wed, 2 Sep 2015 23:52:52 +0000 (02:52 +0300)]
Build: correct jscs paths
Oleg Gaidarenko [Sun, 16 Aug 2015 06:59:58 +0000 (09:59 +0300)]
Build: Update jscs and lint files
Fixes gh-2056
Oleg Gaidarenko [Sun, 16 Aug 2015 06:06:13 +0000 (09:06 +0300)]
Tests: do not define two modules with the same name
Fixes gh-2437
Oleg Gaidarenko [Sun, 16 Aug 2015 03:45:28 +0000 (06:45 +0300)]
Tests: partially use new qunit interface
http://qunitjs.com/upgrade-guide-2.x/
For most of the boring work was used
https://github.com/apsdehal/qunit-migrate package
However, it can't update local qunit helpers, plus in some places
old QUnit.asyncTest signature is still used
Fixes gh-2540
Richard Gibson [Wed, 16 Jan 2013 05:14:57 +0000 (00:14 -0500)]
Event: Only check elements for delegation matches
Closes gh-2529
Ref trac-13208
(cherry picked from commit
fc2ba2e1361126c39f955437ee025cfca3bffa65 )
Michał Gołębiowski [Mon, 3 Aug 2015 17:31:25 +0000 (19:31 +0200)]
Core: Don't expose jQuery.access
jQuery.access was never documented, there is no need to keep it exposed.
Fixes gh-2513
Closes gh-2524
Michał Gołębiowski [Sat, 1 Aug 2015 23:48:54 +0000 (01:48 +0200)]
Build: Add a comment explaining why the es3 option is needed
It might not be obvious to everyone that IE 9 & Android 4.0 are not
ES5-compliant browsers (by a large margin) so it's better to add a support
comment. This requires slight changes in parsing the config file
as it's not a pure JSON anymore. JSHint understands such files without
problems.
Closes gh-2520
Oleg Gaidarenko [Wed, 29 Jul 2015 15:10:04 +0000 (18:10 +0300)]
Tests: don't use deprecated argument in test declaration
Closes gh-2507
Bruno Pérel [Thu, 30 Jul 2015 13:34:34 +0000 (15:34 +0200)]
Docs: Fix various spelling mistakes
Closes gh-2487
Jason Bedard [Sun, 19 Jul 2015 00:47:31 +0000 (17:47 -0700)]
Data: remove user data in cleanData
Fixes gh-2503
Closes gh-2480
Michał Gołębiowski [Mon, 5 May 2014 18:04:03 +0000 (20:04 +0200)]
Ajax: Account for Android 2.3 not firing window.onerror on script errors
Android 2.3 doesn't fire the window.onerror handler, just accept the reality
there and skip the test.
Refs gh-1573
Refs gh-1786
Refs jquery/jquery.com#108
Closes gh-2458
Michał Gołębiowski [Mon, 27 Jul 2015 20:29:38 +0000 (22:29 +0200)]
Event: Update support comments for mouseenter/mouseleave implementation
Custom mouseenter/mouseleave implementation was needed because of:
1. Safari 6 not implementing mouseenter/mouseleave at all.
2. Chrome sending mouseenter too often.
The second issue has been fixed in Chrome but exists now in Safari 7
(it's fixed in Safari 8) so we have to keep it for now, unfortunately.
Michał Gołębiowski [Mon, 27 Jul 2015 20:14:48 +0000 (22:14 +0200)]
Core: Adjust comments & tests after dropping Safari 6 support
Support comments that mentioned only Safari < 7 were checked & updated
to account for bugs existing in newer versions as well; Safari 6 support
test results were removed.
Refs gh-2482
Thomas Tortorini [Thu, 25 Jun 2015 04:18:04 +0000 (06:18 +0200)]
Core: .each/.map should accept an undefined/null value
Fixes gh-2267
Closes gh-2363
Michał Gołębiowski [Mon, 20 Jul 2015 18:22:34 +0000 (20:22 +0200)]
Core: Add a support comment for Safari 8
Related issue: https://bugs.webkit.org/show_bug.cgi?id=137337
Thanks @phistuck!
Refs
cfe468f29c4cbe1a457d0feb17dec90dcfd7c280
Michał Gołębiowski [Sun, 19 Jul 2015 22:55:48 +0000 (00:55 +0200)]
Build: Acknowledge Android 2.3 is not ES5-compatible
Android 2.3 chokes on unquoted reserved words being used as property names
which was making Deferred tests not run.
Acknowledge the sad fact that Android 2.3 is not ES5-compliant browser
and enable the "es3" option in JSHint config.
Fixes gh-2478
Closes gh-2481
Marek Lewandowski [Mon, 13 Jul 2015 12:39:52 +0000 (14:39 +0200)]
Selector: Define jQuery.uniqueSort in selector-native too
Fixes gh-2466
Closes gh-2467
Timmy Willison [Mon, 13 Jul 2015 19:01:33 +0000 (15:01 -0400)]
Release: properly set the dist remote when it's a real release
Oleg Gaidarenko [Fri, 10 Jul 2015 17:58:43 +0000 (20:58 +0300)]
Ajax: Remove jsonp callbacks through "jQuery#removeProp" method
Fixes gh-2323
Closes gh-2464
Timmy Willison [Sat, 11 Jul 2015 15:41:06 +0000 (11:41 -0400)]
Build: add mailmap entry
Timmy Willison [Wed, 8 Jul 2015 17:41:48 +0000 (13:41 -0400)]
Build: update AUTHORS.txt
Michał Gołębiowski [Wed, 8 Jul 2015 11:00:38 +0000 (13:00 +0200)]
Tests: Remove a trailing comma for compatibility with the compat branch
Michał Gołębiowski [Mon, 22 Jun 2015 23:44:18 +0000 (01:44 +0200)]
CSS: Add an integration test for issue gh-1764
Refs gh-1764
Refs gh-2401
Closes gh-2425
Michał Gołębiowski [Wed, 1 Jul 2015 23:20:18 +0000 (01:20 +0200)]
CSS: Make .css("width") & .css("height") return fractional values
Fixes gh-1724
Closes gh-2439
Timmy Willison [Mon, 6 Jul 2015 14:13:01 +0000 (10:13 -0400)]
Deferred: add .catch handler
Fixes gh-2102
Michał Gołębiowski [Wed, 1 Jul 2015 21:20:32 +0000 (23:20 +0200)]
CSS: Improve a comment explaining IE11 fullscreen bug
Corey Frang [Sat, 27 Jun 2015 00:20:48 +0000 (20:20 -0400)]
Tests: Lower the checks rounding error
The CSS value rounding error was causig failures on FF and IE.
Corey Frang [Tue, 19 May 2015 21:48:42 +0000 (17:48 -0400)]
Effects: Adding unit tests for jQuery.Animation
Closes gh-2326
Corey Frang [Mon, 18 May 2015 21:11:21 +0000 (17:11 -0400)]
Effects: Add tests for jQuery.Tween
Thomas Tortorini [Sun, 14 Jun 2015 21:58:44 +0000 (23:58 +0200)]
CSS: make the getStyles function more readable
The new version is not only simpler to read but also smaller
by 6 bytes gzipped.
Closes gh-2393
Gilad Peleg [Wed, 10 Jun 2015 14:56:17 +0000 (17:56 +0300)]
Core: organize prop & attr code to be similar
Closes gh-2384
Martin Naumann [Tue, 16 Jun 2015 21:55:21 +0000 (23:55 +0200)]
CSS: Work around an IE11 fullscreen dimensions bug
Fixes gh-1764
Closes gh-2401
Timmy Willison [Tue, 16 Jun 2015 15:24:21 +0000 (11:24 -0400)]
Build: space between curly and paren is optional
Fixes gh-2399
Close gh-2400
Michał Gołębiowski [Wed, 17 Jun 2015 10:55:59 +0000 (12:55 +0200)]
Core: Switch from modules to just window.setTimeout etc.
Using modules for window.setTimeout etc. made those functions cached and
disabled Sinon mocking, making effects tests fail. Just writing
window.setTimeout directly is smaller anyway.
Michał Gołębiowski [Sun, 14 Jun 2015 17:21:57 +0000 (19:21 +0200)]
Core: Use window.setTimeout & friends instead of global equivalents
Fixes gh-2177
Timmy Willison [Tue, 16 Jun 2015 17:24:12 +0000 (13:24 -0400)]
Offset: add tests for hidden elements + scroll
- Also add comments to hidden/disconnected tests noting
this is to ensure consistency between branches
Timmy Willison [Tue, 16 Jun 2015 15:21:58 +0000 (11:21 -0400)]
Offset: return before getBoundingClientRect to avoid error in IE8-11
Timmy Willison [Mon, 15 Jun 2015 15:02:08 +0000 (11:02 -0400)]
Offset: return zeros for disconnected/hidden elements
Fixes gh-2310
Close gh-2396
Timmy Willison [Mon, 15 Jun 2015 14:56:29 +0000 (10:56 -0400)]
Revert "Offset: allow offset setter to throw for disconnected elements"
This reverts commit
0d11c1182f2012cd6eb06ce1e3fa5a495af9bee3 .
Michał Gołębiowski [Tue, 16 Jun 2015 14:25:16 +0000 (16:25 +0200)]
Tests: Remove test/data/ua.txt
The file was used by $.browser tests but $.browser now doesn't exists
in Core and this file hasn't been updated for a few years.
Fixes gh-2398
Michał Gołębiowski [Tue, 16 Jun 2015 12:44:24 +0000 (14:44 +0200)]
Tests: Remove Edge version from the user agent
The version will change in the future, matching by /edge\//i is enough
Refs
8e111df641cca3e1b75b31a1971bfc89014b4ded
Michał Gołębiowski [Sat, 13 Jun 2015 22:50:05 +0000 (00:50 +0200)]
Tests: Add Microsoft Edge results (from Windows 10 build 10130)
The Microsoft Edge user agent contains "Chrome" so it needs to be checked
before Chrome.
Michał Gołębiowski [Sat, 13 Jun 2015 22:37:31 +0000 (00:37 +0200)]
Tests: Correct a typo in the regex matching Safari 8
Michał Gołębiowski [Mon, 1 Jun 2015 19:35:13 +0000 (21:35 +0200)]
Manipulation: Remove an internal argument to the remove method
Fixes gh-2301
Closes gh-2366
Michał Gołębiowski [Mon, 1 Jun 2015 19:34:57 +0000 (21:34 +0200)]
Event: Remove an internal argument to the on method
Refs gh-2301
Michał Gołębiowski [Mon, 1 Jun 2015 21:25:38 +0000 (23:25 +0200)]
Core: Make jQuery objects iterable
Make iterating over jQuery objects possible using ES 2015 for-of:
for ( node of $( "<div id=narwhal>" ) ) {
console.log( node.id ); // "narwhal"
}
Fixes gh-1693
Michał Gołębiowski [Mon, 1 Jun 2015 21:25:38 +0000 (23:25 +0200)]
Build: Refactor Node smoke tests
Utilize the assert module, avoid inline JSHint comments.
Michał Gołębiowski [Mon, 1 Jun 2015 21:25:38 +0000 (23:25 +0200)]
Build: Update grunt-contrib-jshint
Oleg Gaidarenko [Thu, 11 Jun 2015 13:25:36 +0000 (16:25 +0300)]
Build: remove bower.json lint target
Ref
26eca143c2dd857b9e3d1c446a467fed16e903d2
Oleg Gaidarenko [Thu, 28 May 2015 21:51:22 +0000 (00:51 +0300)]
Event: remove preDispatch hook & simplify "simulate" signature
Closes gh-2358
Michał Gołębiowski [Mon, 1 Jun 2015 17:55:18 +0000 (19:55 +0200)]
CSS: Don't name the anonymous swap function
IE8 doesn't like named anonymous expressions. Not naming the function
expression reduces the gzipped size by 5 bytes.
In ECMAScript 2015 the function will get the name inferred from the
variable name (here: swap) anyway.
(cherry-picked from
e847574fc755b5339f3de41bcebd5b2a3e140cfe )
Refs
02a9d9f94b623ea8664b7b39fd57feb7de6c6a14
Gilad Peleg [Tue, 19 May 2015 11:05:21 +0000 (14:05 +0300)]
Build: Update the license attribute
Specifying the type and URL is deprecated:
https://docs.npmjs.com/files/package.json#license
http://npm1k.org/
Fixes gh-2331
Closes gh-2330
Michał Gołębiowski [Sat, 30 May 2015 17:09:32 +0000 (19:09 +0200)]
Ajax: Remove remnants of the load event alias handling
Refs
0705be475092aede1eddae01319ec931fb9c65fc
Refs gh-2287
Closes gh-2362
Michał Gołębiowski [Mon, 11 May 2015 21:23:09 +0000 (23:23 +0200)]
CSS: Don't cache unrecognized CSS property names
This prevents jQuery from caching a prefixed property name if provided
directly by the user, e.g. the following code:
elem.css( "msTransform", "translate(5px, 2px)" );
should not prevent one from from later setting the transition directly:
elem.css( "transform", "translate(5px, 2px)" );
on a browser not understanding the unprefixed version which is the case
for Safari 8 & transform.
Fixes gh-2015
Closes gh-2298
Oleg Gaidarenko [Wed, 20 May 2015 15:09:46 +0000 (18:09 +0300)]
Event: remove outdated originalEvent hack
Closes gh-2335
Ref
7475d5debeb7c53158921ed40f6c2fdb25a2cc86
Gabriel Schulhof [Tue, 12 May 2015 12:30:05 +0000 (15:30 +0300)]
Event: Remove fake originalEvent from jQuery.Event.simulate
Fixes gh-2300
Closes gh-2303
Oleg Gaidarenko [Fri, 29 May 2015 16:45:02 +0000 (19:45 +0300)]
Docs: remove redundant instruction from the readme
Thanks @elas7
Fixes gh-2359
Oleg Gaidarenko [Tue, 19 May 2015 15:45:14 +0000 (18:45 +0300)]
Build: update requirejs dependency to 2.1.17
Fixes gh-2290
Oleg Gaidarenko [Sat, 9 May 2015 18:39:49 +0000 (21:39 +0300)]
Event: remove deprecated event aliases
Fixes gh-2286
Closes gh-2287
Ref trac-11733
Oleg Gaidarenko [Tue, 12 May 2015 22:15:19 +0000 (01:15 +0300)]
Event: provide verbose comment for focus(in | out) & rename support prop
Closes gh-2312
Chris Rebert [Wed, 13 May 2015 03:13:46 +0000 (20:13 -0700)]
Build: bower.json: remove moot `version` field
Related:
https://github.com/bower/bower.json-spec/commit/
a325da3d79baab018c572d75dc1781b12322f6cd
Close gh-2304
Richard McDaniel [Thu, 16 Oct 2014 19:32:46 +0000 (15:32 -0400)]
Offset: account for scroll when calculating position
Fixes gh-1708
Close gh-1714
Timmy Willison [Wed, 6 May 2015 17:47:07 +0000 (10:47 -0700)]
Core: remove custom ready event
Fixes gh-2264
Close gh-2265
Timmy Willison [Wed, 6 May 2015 20:30:16 +0000 (13:30 -0700)]
Attributes: add SVG class manipulation
- Note: support for SVG is limited in jQuery,
but this is one area where the cost vs benefit ratio
was acceptable.
Fixes gh-2199
Close gh-2268
Timmy Willison [Wed, 6 May 2015 22:29:06 +0000 (15:29 -0700)]
Data: remove the expando when there's no more data
Fixes gh-1760
Close gh-2271
Timmy Willison [Wed, 6 May 2015 22:28:38 +0000 (15:28 -0700)]
Data: remove some unused code
Timmy Willison [Tue, 12 May 2015 13:58:55 +0000 (09:58 -0400)]
Tests: fix tests in accordance with new :visible behavior
Timmy Willison [Fri, 8 May 2015 22:27:54 +0000 (15:27 -0700)]
CSS: fix :visible/:hidden selectors for inline element w/ content
- Reverts behavior from
10399dd , which we never released.
BR and inline elements are considered visible.
- The possibility of dropping .offsetWidth and .offsetHeight
was debunked by this perf:
http://jsperf.com/visible-hidden-and-getclientrects
Fixes gh-2227
Close gh-2281
Michał Gołębiowski [Mon, 11 May 2015 20:25:28 +0000 (22:25 +0200)]
CSS: Collapse a double if statement into one
Saves 3 bytes gzipped
Closes gh-2296
Richard Gibson [Thu, 2 Apr 2015 20:57:33 +0000 (16:57 -0400)]
CSS: Ignore the CSS cascade in show()/hide()/etc.
Fixes gh-1767
Fixes gh-2071
Closes gh-2180
Timmy Willison [Wed, 6 May 2015 23:23:00 +0000 (16:23 -0700)]
Build: use different versions of jsdom for Node and iojs testing
Fixes gh-2266
Timmy Willison [Tue, 5 May 2015 18:52:58 +0000 (11:52 -0700)]
Manipulation: privatize internal domManip() function
Fixes gh-2225
Timmy Willison [Tue, 5 May 2015 18:44:55 +0000 (11:44 -0700)]
Manipulation: privatize buildFragment() function
Fixes gh-2224
Timmy Willison [Tue, 5 May 2015 18:22:40 +0000 (11:22 -0700)]
Effects: add tests for jQuery.easing._default in Animation and Tween
Ref gh-2219
Timmy Willison [Tue, 5 May 2015 17:24:20 +0000 (10:24 -0700)]
Effects: set default easing using jQuery.easing._default
Fixes gh-2219
Close gh-2218
Mu Haibao [Wed, 29 Apr 2015 16:53:30 +0000 (00:53 +0800)]
Core: remove isArraylike check for nodes
Fixes gh-2238
Close gh-2243
Calvin Metcalf [Sat, 2 May 2015 13:08:30 +0000 (09:08 -0400)]
Build: Remove npm from dependencies
Close gh-2254
Timmy Willison [Tue, 5 May 2015 15:33:50 +0000 (08:33 -0700)]
Offset: allow offset setter to throw for disconnected elements
Fixes gh-2114