GVKun编程网logo

来自jQuery的JavaScript这个(javascript来源)

9

如果您想了解来自jQuery的JavaScript这个和javascript来源的知识,那么本篇文章将是您的不二之选。我们将深入剖析来自jQuery的JavaScript这个的各个方面,并为您解答ja

如果您想了解来自jQuery的JavaScript这个javascript来源的知识,那么本篇文章将是您的不二之选。我们将深入剖析来自jQuery的JavaScript这个的各个方面,并为您解答javascript来源的疑在这篇文章中,我们将为您介绍来自jQuery的JavaScript这个的相关知识,同时也会详细的解释javascript来源的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

来自jQuery的JavaScript这个(javascript来源)

来自jQuery的JavaScript这个(javascript来源)

有没有办法从jQuery中获取 JavaScript?

解决方法

这个==这个,不管这个是什么.

这不是jquery,它是一个特殊的,有点复杂的javascript关键字,它描述了当前的执行范围.

你的挑战可能是确定或控制这是什么.

javascript – .prop的JQuery typescript定义?

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()函数替代方案

javascript – JQuery版本1.61的JQuery .on()函数替代方案

我遇到了一种情况,我需要调整一个与 JQuery 1.7.1一起使用的脚本来使用JQuery 1.6.1,基本上我需要将.on()转换为适用于JQuery 1.6.1的东西.

这是我需要在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这对$(这个),甚至可能是这个

javascript – jquery这对$(这个),甚至可能是这个

我经常会看到在 jquery中使用关键字this的例子.有时我看到它与$和括号一起使用,其他时候没有.我以为我看到它与每一个都使用了.

所以,

var id = this.attr('id');

 var id = $(this).attr('id');

 var id = $this.attr('id');

这些都一样吗?有优先的方式吗?这是一个JavaScript的东西和$(这)一个jQuery的东西?如果是这样,这个秋天在哪里?

我知道这可能是一个全新的问题,但是我还没有得到简单的,这本身就是工作.我只能得到$(这)工作.我不知道我是否做错了事情,或者如果我一直在读错误的例子.

解决方法

这是一个JavaScript的东西.它指的是一个函数正在运行的“上下文”.对于大多数事件处理程序,它是正在侦听事件的(“raw”)DOM元素.在其他情况下,这意味着其他的东西; Googling“这在JavaScript”可能是启发.

我说这是“原始”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接口有什么区别?

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接口有什么区别?的相关知识,请在本站寻找。

本文标签: