|
281 | 281 | }
|
282 | 282 |
|
283 | 283 | // attach listener for expanding/collapsing the target
|
284 |
| - Sfjs.addEventListener(buttons[i], 'click', function (e) { |
285 |
| - if (!e) { |
286 |
| - e = window.event; |
287 |
| - } |
288 |
| -
|
289 |
| - if (e.target) { |
290 |
| - target = e.target; |
291 |
| - } |
292 |
| - else if (e.srcElement) { |
293 |
| - target = e.srcElement; |
294 |
| - } |
295 |
| -
|
296 |
| - toggle(target); |
297 |
| -
|
298 |
| - e.preventDefault ? e.preventDefault() : e.returnValue = false; |
299 |
| - e.stopPropagation(); |
300 |
| -
|
301 |
| - return false; |
| 284 | + clickHandler(buttons[i], function () { |
| 285 | + toggle(this); |
302 | 286 | });
|
303 | 287 |
|
304 | 288 | if (states.hasOwnProperty(targetId)) {
|
|
391 | 375 | throw "Tab target " + targetId + " does not exist";
|
392 | 376 | }
|
393 | 377 |
|
394 |
| - Sfjs.addEventListener(tabs[i], 'click', function (e) { |
395 |
| - var target; |
396 |
| -
|
397 |
| - if (!e) { |
398 |
| - e = window.event; |
399 |
| - } |
400 |
| -
|
401 |
| - if (e.target) { |
402 |
| - target = e.target; |
403 |
| - } |
404 |
| - else if (e.srcElement) { |
405 |
| - target = e.srcElement; |
406 |
| - } |
407 |
| -
|
408 |
| - select(target); |
409 |
| -
|
410 |
| - e.preventDefault ? e.preventDefault() : e.returnValue = false; |
411 |
| - e.stopPropagation(); |
412 |
| -
|
413 |
| - return false; |
| 378 | + clickHandler(buttons[i], function () { |
| 379 | + select(this); |
414 | 380 | });
|
415 | 381 |
|
416 | 382 | Sfjs.addClass(target, 'hidden');
|
|
429 | 395 | }
|
430 | 396 |
|
431 | 397 | var tabTarget = new TabView(),
|
432 |
| - toggler = new Toggler(new JsonStorage(sessionStorage)); |
| 398 | + toggler = new Toggler(new JsonStorage(sessionStorage)), |
| 399 | + clickHandler = function (element, callback) { |
| 400 | + Sfjs.addEventListener(element, 'click', function (e) { |
| 401 | + var target; |
| 402 | +
|
| 403 | + if (!e) { |
| 404 | + e = window.event; |
| 405 | + } |
| 406 | +
|
| 407 | + if (e.target) { |
| 408 | + target = e.target; |
| 409 | + } |
| 410 | + else if (e.srcElement) { |
| 411 | + target = e.srcElement; |
| 412 | + } |
| 413 | +
|
| 414 | + callback.call(target); |
| 415 | +
|
| 416 | + if (e.preventDefault) { |
| 417 | + e.preventDefault(); |
| 418 | + } else { |
| 419 | + e.returnValue = false; |
| 420 | + } |
| 421 | +
|
| 422 | + e.stopPropagation(); |
| 423 | +
|
| 424 | + return false; |
| 425 | + }); |
| 426 | + }; |
433 | 427 |
|
434 | 428 | tabTarget.initTabs(document.querySelectorAll('.tree .tree-inner'));
|
435 | 429 | toggler.initButtons(document.querySelectorAll('a.toggle-button'));
|
|
0 commit comments