web-dev-qa-db-ja.com

Bootstrap.jsがセレクターオプションエラーをスローする:windows.documentオブジェクトのツールチップを初期化するときにセレクターオプションを指定する必要がある

Bootstrap.jsでWebアプリケーションを実行しようとすると、次のエラーが発生します。

Localhost:7904/Scripts/bootstrap.js 0x800a139eの行1306、列7の未処理の例外:JavaScriptランタイムエラー:window.documentオブジェクトのツールチップを初期化するときにselectorオプションを指定する必要があります!

これは、参照している次のコード行です。

  Tooltip.prototype.init = function (type, element, options) {
this.enabled   = true
this.type      = type
this.$element  = $(element)
this.options   = this.getOptions(options)
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
this.inState   = { click: false, hover: false, focus: false }

if (this.$element[0] instanceof document.constructor && !this.options.selector) {
  //LINE 1306 IS RIGHT HERE
  throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
}

var triggers = this.options.trigger.split(' ')

for (var i = triggers.length; i--;) {
  var trigger = triggers[i]

  if (trigger == 'click') {
    this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
  } else if (trigger != 'manual') {
    var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
    var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'

    this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
    this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
  }
}

this.options.selector ?
  (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
  this.fixTitle()}

この問題について何か助けていただければ幸いです。

15
MilesMorales

ライブラリを次のように並べ替えました。

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js" integrity="sha256-xNjb53/rY+WmG+4L6tTl9m6PpqknWZvRt0rO1SRnJzw=" crossorigin="anonymous"></script>

次に、すべての個人用JavaScriptを後に置きます。これで問題は解決したようです。

24
MilesMorales