},
fix: function(event) {
- if ( event ) {
- event.preventDefault = function() {
- this.returnValue = false;
- };
-
- event.stopPropagation = function() {
- this.cancelBubble = true;
- };
+ // check IE
+ if(jQuery.browser.msie) {
+ // get real event from window.event
+ event = window.event;
+ // fix target property
+ event.target = event.srcElement;
+ // check safari and if target is a textnode
+ } else if(jQuery.browser.safari && event.target.nodeType == 3) {
+ // target is readonly, clone the event object
+ event = jQuery.extend({}, event);
+ // get parentnode from textnode
+ event.target = event.target.parentNode;
}
-
+ // fix preventDefault and stopPropagation
+ event.preventDefault = function() {
+ this.returnValue = false;
+ };
+ event.stopPropagation = function() {
+ this.cancelBubble = true;
+ };
return event;
}
*
* It only returns the immediately previous sibling, not all previous siblings.
*
- * @example $("p").previous(".selected")
+ * @example $("p").prev(".selected")
* @before <div><span>Hello</span></div><p class="selected">Hello Again</p><p>And Again</p>
* @result [ <div><span>Hello</span></div> ]
*