如果您想了解来自jQuery的JavaScript这个和javascript来源的知识,那么本篇文章将是您的不二之选。我们将深入剖析来自jQuery的JavaScript这个的各个方面,并为您解答ja
如果您想了解来自jQuery的JavaScript这个和javascript来源的知识,那么本篇文章将是您的不二之选。我们将深入剖析来自jQuery的JavaScript这个的各个方面,并为您解答javascript来源的疑在这篇文章中,我们将为您介绍来自jQuery的JavaScript这个的相关知识,同时也会详细的解释javascript来源的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- 来自jQuery的JavaScript这个(javascript来源)
- javascript – .prop的JQuery typescript定义?
- javascript – JQuery版本1.61的JQuery .on()函数替代方案
- javascript – jquery这对$(这个),甚至可能是这个
- javascript – TypeScript中的JQuery和JQueryStatic接口有什么区别?
来自jQuery的JavaScript这个(javascript来源)
解决方法
这不是jquery,它是一个特殊的,有点复杂的javascript关键字,它描述了当前的执行范围.
你的挑战可能是确定或控制这是什么.
javascript – .prop的JQuery typescript定义?
我有以下代码:
// Populate the title of the selects on change and trigger a change
$('#modal .update-title')
.change(function () {
var $select = $(this),
match = null,
matchRow = null,
title = $('option:selected', this).prop('title');
在typescript中,它将title的值设置为bool.然后,当我尝试按如下方式使用它时,我收到一个错误:
$("#modal_Title_" + matchRow).val(title);
这是JQuery定义的另一个问题还是我做错的事情?检查定义文件时,我看到以下内容:
prop(propertyName: string): bool;
这似乎与JQuery doc不匹配.
解决方法:
jQuery文档不正确,您的类型定义文件也是如此.
大多数属性是字符串,但有些是数字(例如.selectedindex),有些是布尔值(.checked等),而$.fn.prop()不会将它们全部转换为字符串.
正确的定义应该是:
prop(propertyName: string): any;
TypeScript网站上已经列出了一个work item来解决这个问题.
javascript – JQuery版本1.61的JQuery .on()函数替代方案
这是我需要在JQuery 1.6.1下运行的代码(更改.on()函数):
(function( $,undefined ) { /* * Slider object. */ $.Slider = function( options,element ) { this.$el = $( element ); this._init( options ); }; $.Slider.defaults = { current : 0,// index of current slide bgincrement : 50,// increment the bg position (parallax effect) when sliding autoplay : false,// slideshow on / off interval : 4000 // time between transitions }; $.Slider.prototype = { _init : function( options ) { this.options = $.extend( true,{},$.Slider.defaults,options ); this.$slides = this.$el.children('div.da-slide'); this.slidesCount = this.$slides.length; this.current = this.options.current; if( this.current < 0 || this.current >= this.slidesCount ) { this.current = 0; } this.$slides.eq( this.current ).addClass( 'da-slide-current' ); var $navigation = $( '<nav/>' ); for( var i = 0; i < this.slidesCount; ++i ) { $navigation.append( '<span/>' ); } $navigation.appendTo( this.$el ); this.$pages = this.$el.find('nav.da-dots > span'); this.$navNext = this.$el.find('span.da-arrows-next'); this.$navPrev = this.$el.find('span.da-arrows-prev'); this.isAnimating = false; this.bgpositer = 0; this.cssAnimations = Modernizr.cssanimations; this.csstransitions = Modernizr.csstransitions; if( !this.cssAnimations || !this.cssAnimations ) { this.$el.addClass( 'da-slider-fb' ); } this._updatePage(); // load the events this._loadEvents(); // slideshow if( this.options.autoplay ) { this._startSlideshow(); } },_navigate : function( page,dir ) { var $current = this.$slides.eq( this.current ),$next,_self = this; if( this.current === page || this.isAnimating ) return false; this.isAnimating = true; // check dir var classto,classFrom,d; if( !dir ) { ( page > this.current ) ? d = 'next' : d = 'prev'; } else { d = dir; } if( this.cssAnimations && this.cssAnimations ) { if( d === 'next' ) { classto = 'da-slide-toleft'; classFrom = 'da-slide-fromright'; ++this.bgpositer; } else { classto = 'da-slide-toright'; classFrom = 'da-slide-fromleft'; --this.bgpositer; } this.$el.css( 'background-position',this.bgpositer * this.options.bgincrement + '% 0%' ); } this.current = page; $next = this.$slides.eq( this.current ); if( this.cssAnimations && this.cssAnimations ) { var rmClasses = 'da-slide-toleft da-slide-toright da-slide-fromleft da-slide-fromright'; $current.removeClass( rmClasses ); $next.removeClass( rmClasses ); $current.addClass( classto ); $next.addClass( classFrom ); $current.removeClass( 'da-slide-current' ); $next.addClass( 'da-slide-current' ); } // fallback if( !this.cssAnimations || !this.cssAnimations ) { $next.css( 'left',( d === 'next' ) ? '100%' : '-100%' ).stop().animate( { left : '0%' },1000,function() { _self.isAnimating = false; }); $current.stop().animate( { left : ( d === 'next' ) ? '-100%' : '100%' },function() { $current.removeClass( 'da-slide-current' ); }); } this._updatePage(); },_updatePage : function() { this.$pages.removeClass( 'da-dots-current' ); this.$pages.eq( this.current ).addClass( 'da-dots-current' ); },_startSlideshow : function() { var _self = this; this.slideshow = setTimeout( function() { var page = ( _self.current < _self.slidesCount - 1 ) ? page = _self.current + 1 : page = 0; _self._navigate( page,'next' ); if( _self.options.autoplay ) { _self._startSlideshow(); } },this.options.interval ); },page : function( idx ) { if( idx >= this.slidesCount || idx < 0 ) { return false; } if( this.options.autoplay ) { clearTimeout( this.slideshow ); this.options.autoplay = false; } this._navigate( idx ); },_loadEvents : function() { var _self = this; this.$pages.on( 'click.cslider',function( event ) { _self.page( $(this).index() ); return false; }); this.$navNext.on( 'click.cslider',function( event ) { if( _self.options.autoplay ) { clearTimeout( _self.slideshow ); _self.options.autoplay = false; } var page = ( _self.current < _self.slidesCount - 1 ) ? page = _self.current + 1 : page = 0; _self._navigate( page,'next' ); return false; }); this.$navPrev.on( 'click.cslider',function( event ) { if( _self.options.autoplay ) { clearTimeout( _self.slideshow ); _self.options.autoplay = false; } var page = ( _self.current > 0 ) ? page = _self.current - 1 : page = _self.slidesCount - 1; _self._navigate( page,'prev' ); return false; }); if( this.csstransitions ) { if( !this.options.bgincrement ) { this.$el.on( 'webkitAnimationEnd.cslider animationend.cslider OAnimationEnd.cslider',function( event ) { if( event.originalEvent.animationName === 'toRightAnim4' || event.originalEvent.animationName === 'toLeftAnim4' ) { _self.isAnimating = false; } }); } else { this.$el.on( 'webkittransitionend.cslider transitionend.cslider Otransitionend.cslider',function( event ) { if( event.target.id === _self.$el.attr( 'id' ) ) _self.isAnimating = false; }); } } } }; var logError = function( message ) { if ( this.console ) { console.error( message ); } }; $.fn.cslider = function( options ) { if ( typeof options === 'string' ) { var args = Array.prototype.slice.call( arguments,1 ); this.each(function() { var instance = $.data( this,'cslider' ); if ( !instance ) { logError( "cannot call methods on cslider prior to initialization; " + "attempted to call method '" + options + "'" ); return; } if ( !$.isFunction( instance[options] ) || options.charat(0) === "_" ) { logError( "no such method '" + options + "' for cslider instance" ); return; } instance[ options ].apply( instance,args ); }); } else { this.each(function() { var instance = $.data( this,'cslider' ); if ( !instance ) { $.data( this,'cslider',new $.Slider( options,this ) ); } }); } return this; }; })( jQuery );
解决方法
.bind
替换.on.
javascript – jquery这对$(这个),甚至可能是这个
所以,
var id = this.attr('id'); var id = $(this).attr('id'); var id = $this.attr('id');
这些都一样吗?有优先的方式吗?这是一个JavaScript的东西和$(这)一个jQuery的东西?如果是这样,这个秋天在哪里?
我知道这可能是一个全新的问题,但是我还没有得到简单的,这本身就是工作.我只能得到$(这)工作.我不知道我是否做错了事情,或者如果我一直在读错误的例子.
解决方法
我说这是“原始”DOM元素,因为jQuery通常用于在jQuery包装器中包装纯DOM元素,因此您可以使用像attr这样的jQuery方法,而不是常用的(getAttribute,setAttribute等).这个包装是用$函数完成的,那就是你看到$(this)的地方.例如:
this.getAttribute("href") /* or */ someElement.getAttribute("href")
是相同的
$(this).attr("href") /* or */ $(someElement).attr("href")
$this或$$只是一个变量名.但是,常常做一个任务
var $this = $(this);
这样做的原因是为了避免不断地调用$函数,这样做有点贵,因为它每次都创建一个新的jQuery包装器对象.如果将包装的元素存储在变量中,则效率稍微提高.
在极少数情况下,这可能已经是一个jQuery包装器.经常出现在我身上的情况是在编写jQuery插件时.在这种情况下,您可以直接执行像this.attr(“id”)这样的事情,而不是首先包装它,因为它已经被包装了.在通常情况下(事件处理程序,$.each等),包装器是必需的.
javascript – TypeScript中的JQuery和JQueryStatic接口有什么区别?
有人可以解释一下吗?我意识到jQuery接口是预定义的接口,但什么是JQueryStatic?
我有以下内容:
(function($)
{
$.fn.disableBt = function()
{
$(this).attr('disabled', true);
if ($.browser.msie && $.browser.version < 9)
{
$(this).addClass('disabled');
}
}
})(jQuery);
我可以通过将其添加到jQuery接口来获取打字稿的唯一方法是:
disableBt();
}
我尝试将它添加到jQueryStatic但它似乎不起作用:
interface JQueryStatic {
modal( options );
disableBt();
}
这是我的模态中定义选项的方式:
$.modal.defaults = {
content: false,
useIframe: false,
...
...
var settings = $.extend({}, $.modal.defaults, options),
解决方法:
是否定义了“选项”(在模态(选项)中)?
JQueryStatic接口有静态方法(“$和jQuery本身”)
JQuery接口具有可以在jQuery元素上运行的成员,其中许多元素为了可链接性而返回JQuery.
interface JQueryStatic {
someAdditionalMethod(): any;
}
$.someAdditionalMethod();
interface JQuery {
pluginMethod(): JQuery;
}
$("body").pluginMethod();
如果你的情况是这样的:
interface ModalDefaultOptions {
content?: bool;
useIframe?: bool;
}
interface JQueryStatic {
modal: {
defaults: ModalDefaultOptions;
};
}
interface JQuery {
disableBt(): void; // or :JQuery if you returned 'this' from the function
}
$("#someButton").disableBt();
$.modal.defaults.content = false;
关于来自jQuery的JavaScript这个和javascript来源的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于javascript – .prop的JQuery typescript定义?、javascript – JQuery版本1.61的JQuery .on()函数替代方案、javascript – jquery这对$(这个),甚至可能是这个、javascript – TypeScript中的JQuery和JQueryStatic接口有什么区别?的相关知识,请在本站寻找。
本文标签: