PageSourceSearch

https://hr.taiwanjobs.gov.tw/Internet/Index/js/turboframe_JsEventHandler.js

js taiwanjobs.gov.tw collected 2026-10-02 12:39:27 UTC 2,274 bytes, 93 lines download raw bytes

1"use strict";
2
3// Class definition
4var JsEventHandler = function() {
5  ////////////////////////////
6  // ** Private Variables  ** //
7  ////////////////////////////
8  var _handlers = {};
9
10  ////////////////////////////
11  // ** Private Methods  ** //
12  ////////////////////////////
13  var _triggerEvent = function(element, name, target, e) {
14    if (JsUtils.data(element).has(name) === true) {
15      var handlerId = JsUtil.data(element).get(name);
16
17      if (_handlers[name] && _handlers[name][handlerId]) {
18        var handler = _handlers[name][handlerId];
19
20        if (handler.name === name) {
21          if (handler.one == true) {
22            if (handler.fired == false) {
23              _handlers[name][handlerId].fired = true;
24
25              return handler.callback.call(this, target, e);
26            }
27          } else {
28            return handler.callback.call(this, target, e);
29          }
30        }
31      }
32    }
33
34    return null;
35  }
36
37  var _addEvent = function(element, name, callback, one) {
38    var handlerId = JsUtils.getUniqueId('event');
39
40    JsUtils.data(element).set(name, handlerId);
41
42    if (!_handlers[name]) {
43      _handlers[name] = {};
44    }
45
46    _handlers[name][handlerId] = {
47      name: name,
48      callback: callback,
49      one: one,
50      fired: false
51    };
52  }
53
54  var _removeEvent = function(element, name) {
55    var handlerId = JsUtils.data(element).get(name);
56
57    if (_handlers[name] && _handlers[name][handlerId]) {
58      delete _handlers[name][handlerId];
59    }
60  }
61
62  ////////////////////////////
63  // ** Public Methods  ** //
64  ////////////////////////////
65  return {
66    trigger: function(element, name, target, e) {
67      return _triggerEvent(element, name, target, e);
68    },
69
70    on: function(element, name, handler) {
71      return _addEvent(element, name, handler);
72    },
73
74    one: function(element, name, handler) {
75      return _addEvent(element, name, handler, true);
76    },
77
78    off: function(element, name) {
79      return _removeEvent(element, name);
80    },
81
82    debug: function() {
83      for (var b in _handlers) {
84        if (_handlers.hasOwnProperty(b)) console.log(b);
85      }
86    }
87  }
88}();
89
90// Webpack support
91if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
92  module.exports = JsEventHandler;
93}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.