开发者

Implementing Prototype-style class structure with jQuery

I've been using heavily Prototype's way of defining classes and subclasses:

// properties are directly passed to `create` method
var Person = Class.create({
  initialize: function(name) {
    this.name = name;
  },
  say: function(message) {
    return this.name + ': ' + message;
  }
});

// when subclassing, specify the class you want to inherit from
var Pirate = Class.create(Person, {
  // redefine the speak method
  say: function($super, message) {
    return $super(message) + ', yarr!';
  }
});

var john = new Pirate('Long John');
john.say('ahoy matey');

I'm working with my 2.3.8 Rails app and planning to use Highcharts (charting JS library). My proble开发者_运维问答m is that Highcharts is dependent on jQuery (or MooTools).

Is there a way to modify Prototype-style defined classes and subclasses into jQuery format? Or should I change my existing classes into plain JavaScript? Thanks for your help!


You can use both Prototype and jQuery together on the same page by using jQuery.noConflict(). Is there a reason that you only want to use one? Use Prototype for most things since you seem comfortable with it and jQuery for the plug-ins that require it...

// during loading
jQuery.noConflict();

// later when you want to manipulate things
jQuery('div.hideme').hide(); // jQuery
$('#somethingElse').hide();  // Prototype
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜