您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
jquery bind-first plugin
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/2857/25889/jquerybind-first.js
// ==UserScript== // @name jquery.bind-first // @namespace private-face // @description jquery bind-first plugin // @source https://github.com/private-face/jquery.bind-first // @copyright Vladimir Zhuravlev // @version 0.2.3 // @license MIT // ==/UserScript== /* * jQuery.bind-first library v0.2.3 * Copyright (c) 2013 Vladimir Zhuravlev * * Released under MIT License * @license * * Date: Thu Feb 6 10:13:59 ICT 2014 **/ window.addEventListener('load', function () { (function($) { var splitVersion = $.fn.jquery.split("."); var major = parseInt(splitVersion[0]); var minor = parseInt(splitVersion[1]); var JQ_LT_17 = (major < 1) || (major == 1 && minor < 7); function eventsData($el) { return JQ_LT_17 ? $el.data('events') : $._data($el[0]).events; } function moveHandlerToTop($el, eventName, isDelegated) { var data = eventsData($el); var events = data[eventName]; if (!JQ_LT_17) { var handler = isDelegated ? events.splice(events.delegateCount - 1, 1)[0] : events.pop(); events.splice(isDelegated ? 0 : (events.delegateCount || 0), 0, handler); return; } if (isDelegated) { data.live.unshift(data.live.pop()); } else { events.unshift(events.pop()); } } function moveEventHandlers($elems, eventsString, isDelegate) { var events = eventsString.split(/\s+/); $elems.each(function() { for (var i = 0; i < events.length; ++i) { var pureEventName = $.trim(events[i]).match(/[^\.]+/i)[0]; moveHandlerToTop($(this), pureEventName, isDelegate); } }); } function makeMethod(methodName) { $.fn[methodName + 'First'] = function() { var args = $.makeArray(arguments); var eventsString = args.shift(); if (eventsString) { $.fn[methodName].apply(this, arguments); moveEventHandlers(this, eventsString); } return this; } } // bind makeMethod('bind'); // one makeMethod('one'); // delegate $.fn.delegateFirst = function() { var args = $.makeArray(arguments); var eventsString = args[1]; if (eventsString) { args.splice(0, 2); $.fn.delegate.apply(this, arguments); moveEventHandlers(this, eventsString, true); } return this; }; // live $.fn.liveFirst = function() { var args = $.makeArray(arguments); // live = delegate to the document args.unshift(this.selector); $.fn.delegateFirst.apply($(document), args); return this; }; // on (jquery >= 1.7) if (!JQ_LT_17) { $.fn.onFirst = function(types, selector) { var $el = $(this); var isDelegated = typeof selector === 'string'; $.fn.on.apply($el, arguments); // events map if (typeof types === 'object') { for (type in types) if (types.hasOwnProperty(type)) { moveEventHandlers($el, type, isDelegated); } } else if (typeof types === 'string') { moveEventHandlers($el, types, isDelegated); } return $el; }; } })(jQuery); }, false);