Separate $.one event handler.
This commit is contained in:
11
src/js/lib/event.js
Normal file
11
src/js/lib/event.js
Normal file
@@ -0,0 +1,11 @@
|
||||
/* Copyright (c) 2015 Hyunje Alex Jun and other contributors
|
||||
* Licensed under the MIT License
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
exports.once = function (element, eventName, handler) {
|
||||
element.addEventListener(eventName, function (e) {
|
||||
element.removeEventListener(eventName, handler, false);
|
||||
handler(e);
|
||||
}, false);
|
||||
};
|
||||
@@ -6,6 +6,7 @@
|
||||
var cls = require('../lib/class')
|
||||
, d = require('../lib/dom')
|
||||
, defaultSettings = require('./default-setting')
|
||||
, evt = require('../lib/event')
|
||||
, eventClassFactory = require('../lib/event-class')
|
||||
, h = require('../lib/helper');
|
||||
|
||||
@@ -227,7 +228,7 @@ module.exports = function (element, settingOrCommand) {
|
||||
cls.add(element, 'ps-in-scrolling');
|
||||
|
||||
$(ownerDocument).bind(eventClass('mousemove'), mouseMoveHandler);
|
||||
$(ownerDocument).one(eventClass('mouseup'), mouseUpHandler);
|
||||
evt.once(ownerDocument, 'mouseup', mouseUpHandler);
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
@@ -259,7 +260,7 @@ module.exports = function (element, settingOrCommand) {
|
||||
cls.add(element, 'ps-in-scrolling');
|
||||
|
||||
$(ownerDocument).bind(eventClass('mousemove'), mouseMoveHandler);
|
||||
$(ownerDocument).one(eventClass('mouseup'), mouseUpHandler);
|
||||
evt.once(ownerDocument, 'mouseup', mouseUpHandler);
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
|
||||
Reference in New Issue
Block a user