jQuery আনকচড প্রকারের ত্রুটি: অবজেক্ট [অবজেক্ট উইন্ডো] এর সম্পত্তি '$' কোনও ফাংশন নয়


92

সব মিলিয়ে, আমি একটি প্রাকবান্ডেলযুক্ত জেএস / সিএসএস ফর্ম অ্যাপ্লিকেশন ডাউনলোড করেছি এবং আমি এটি ওয়ার্ডপ্রেসে ব্যবহার করার চেষ্টা করছি trying আমি নিম্নলিখিত কোড পেয়েছি:

$(document).ready(function () {


/*----------------------------------------------------------------------*/
/* Parse the data from an data-attribute of DOM Elements
/*----------------------------------------------------------------------*/


$.parseData = function (data, returnArray) {
    if (/^\[(.*)\]$/.test(data)) { //array
        data = data.substr(1, data.length - 2).split(',');
    }
    if (returnArray && !$.isArray(data) && data != null) {
        data = Array(data);
    }
    return data;
};

/*----------------------------------------------------------------------*/
/* Image Preloader
/* http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript
/*----------------------------------------------------------------------*/



// Arguments are image paths relative to the current page.
$.preload = function() {
    var cache = [],
        args_len = arguments.length;
    for (var i = args_len; i--;) {
        var cacheImage = document.createElement('img');
        cacheImage.src = arguments[i];
        cache.push(cacheImage);
    }
};


/*----------------------------------------------------------------------*/
/* fadeInSlide by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/


$.fn.fadeInSlide = function (speed, callback) {
    if ($.isFunction(speed)) callback = speed;
    if (!speed) speed = 200;
    if (!callback) callback = function () {};
    this.each(function () {

        var $this = $(this);
        $this.fadeTo(speed / 2, 1).slideDown(speed / 2, function () {
            callback();
        });
    });
    return this;
};


/*----------------------------------------------------------------------*/
/* fadeOutSlide by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/


$.fn.fadeOutSlide = function (speed, callback) {
    if ($.isFunction(speed)) callback = speed;
    if (!speed) speed = 200;
    if (!callback) callback = function () {};
    this.each(function () {

        var $this = $(this);
        $this.fadeTo(speed / 2, 0).slideUp(speed / 2, function () {
            $this.remove();
            callback();
        });
    });
    return this;
};

/*----------------------------------------------------------------------*/
/* textFadeOut by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/


$.fn.textFadeOut = function (text, delay, callback) {
    if (!text) return false;
    if ($.isFunction(delay)) callback = delay;
    if (!delay) delay = 2000;
    if (!callback) callback = function () {};
    this.each(function () {

        var $this = $(this);
        $this.stop().text(text).show().delay(delay).fadeOut(1000,function(){
            $this.text('').show();
            callback();
        })
    });
    return this;
};

/*----------------------------------------------------------------------*/
/* leadingZero by revaxarts.com
/* adds a leding zero if necessary
/*----------------------------------------------------------------------*/


$.leadingZero = function (value) {
    value = parseInt(value, 10);
    if(!isNaN(value)) {
        (value < 10) ? value = '0' + value : value;
    }
    return value;
};


});

আমি ধরেই নিয়েছিলাম যে ওয়ার্ডপ্রেস কোনও বিরোধের কারণে কোন বিরোধ দেখা দিচ্ছে না তাই আমি নীচের মতো দেখতে শেষ বন্ধনীটি আপডেট করেছি:

}, "jQuery");

তবে, আমি এখনও একই ত্রুটি পাচ্ছি getting কেউ কি জানেন যে এই সমস্যাটি কী হবে এবং কীভাবে সমাধান করা যায়?

আগাম ধন্যবাদ!

উত্তর:


260

এটি একটি সিনট্যাক্স ইস্যু, jQuery গ্রন্থাগারটি "কোনও বিরোধ নেই" মোডে ওয়ার্ডপ্রেস বোঝার সাথে অন্তর্ভুক্ত। ওয়ার্ডপ্রেস লোড করতে পারে এমন অন্যান্য জাভাস্ক্রিপ্ট লাইব্রেরির সাথে সামঞ্জস্যতা সমস্যা রোধ করার জন্য এটি। "নন-কনফিসিট" মোডে, $ শর্টকাট উপলভ্য নয় এবং দীর্ঘতর jQuery ব্যবহৃত হয়, অর্থাত্‍

jQuery(document).ready(function ($) {

ফাংশন কলের পরে hes ইন বন্ধনীতে অন্তর্ভুক্ত করে আপনি কোড ব্লকের মধ্যে এই শর্টকাটটি ব্যবহার করতে পারেন।

সম্পূর্ণ বিশদ জন্য ওয়ার্ডপ্রেস কোডেক্স দেখুন


আমার শেষ করা উচিত আপনার শেষে "jQuery" আলগা করার দরকার
রেডইয়েডমন্সটার

4
আপনি যেমন একটি জীবন রক্ষক !!! ডিবাগিংয়ের 3 দিনের পরে, আমি দেখতে পেলাম যে এটিই আমার সমস্যার সঠিক সমাধান। যদিও ওয়ার্ডপ্রেস jQuery ফাইলটি লোড করছিল, আমি প্রস্তুত নথিতে উল্লিখিত fucntions অ্যাক্সেস করতে পারিনি। সুতরাং এই সঠিক কোড লাইন jQuery(document).ready(function ($) {এটি ভাল জন্য এটি স্থির। ভাগ করে নেওয়ার জন্য একটি টন ধন্যবাদ।
ডেভনার 21

4
এটি দ্রুপালেও একই সমস্যা। সমাধান সেখানে কাজ করে। আপনাকে ধন্যবাদ
যোগেশ গুপ্তা

35

আমার প্রিয় দ্বন্দ্ব-বান্ধব নির্মাণ:

jQuery(function($) {
  // ...
});

ফাংশন পয়েন্টার সহ jQuery কল করা $ (নথি) এর শর্টকাট ready

বা আমরা কফিসিপিতে যেমন বলেছি:

jQuery ($) ->
  # code here

যদি $ইতিমধ্যে একটি jquery উদাহরণ হয় - পাস করার jQueryএবং $আবার নাম দেওয়ার কোনও কারণ ?
zerkms

4
another এটি যদি কোনও লাইব্রেরির সাথে সাংঘর্ষিক হয় তবে জা-কোয়েরি উদাহরণ হতে পারে না - বিরোধ নেই mode
জুলিয়ান

4
এটির জন্য একটি শর্টকাট $(document).ready(), না$(document).on('load')
কেভিন বি

এটি আমার পক্ষে কাজ করেছিল! আমার থিমের সমস্ত কাস্টম.জেএস ফাংশন অবিস্মরণীয়ভাবে ভেঙেছে। আমি এর সাথে document (নথি)। প্রস্তুত (ফাংশন () replaced প্রতিস্থাপন করেছি এবং এটি যাদুর মতো কাজ করেছে :)
ইরাক হারমান


1

থিম ফাংশন.এফপি ফাইলে নিম্নলিখিতগুলির মতো কিছু যুক্ত করে আপনি গুগল লাইব্রেরির সাথে ডিফল্ট ওয়ার্ডপ্রেস jQuery স্ক্রিপ্টটি প্রতিস্থাপন করতে বিবেচনা করতে পারেন:

function modify_jquery() {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', false, '1.10.2');
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'modify_jquery');

কোডটি এখান থেকে নেওয়া হয়েছে: http://www.wpbeginner.com/wp-themes/replace-default-wordpress-jquery-script-with-google-library/


আপনি ডাব্লুপি ডাউনসাইডের বাইরে যদি "বাহ্যিক" জ্যাকুয়ারি প্লাগইন ব্যবহার করেন তবে সর্বোত্তম সমাধান: - পারে - কিছু ওয়ার্ডপ্রেস প্লাগইনগুলির সাথে দ্বন্দ্ব - আমার দিকে কিছুই লক্ষ্য করা যায় না
রানসনবংস

-1

jquery এর আগে আপনার মতো কোড থাকতে পারে:

var $jq=jQuery.noConflict();
$jq('ul.menu').lavaLamp({
    fx: "backout", 
    speed: 700
});

এবং তাদের সংঘাত ছিল

আপনি j এ (jQuery) পরিবর্তন করতে পারেন


4
আমি এটি যেমন var $=jQuery.noConflict();জাভা-ওয়েব অ্যাপ্লিকেশন সেটআপ হিসাবে ব্যবহার করেছি, কিন্তু আমি একই ত্রুটি পেয়েছি!
কোডিং_আইডিওট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.