사용자:Hsl0/LinkTools

리버티게임, 모두가 만들어가는 자유로운 게임
< 사용자:Hsl0
imported>Hsl0님의 2023년 3월 27일 (월) 00:34 판 (새 문서: == LinkModifier == * 태그 안의 링크를 수정한다. * 안쪽이 먼저 실행되고 바깥쪽이 나중에 실행된다. <syntaxhighlight lang="html"> <span class="link-modifier" data-modifier"a"> <span class="event-listener" data-modifier="b"> 리버티게임:대문 </span> </span> </syntaxhighlight> b 실행-a 실행 == LinkCreater == * link-slot-dummy: 태그 안에 아무런 링크가 없다면, {{주석|아무 기능이 없는|href가 없고,...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

LinkModifier

  • 태그 안의 링크를 수정한다.
  • 안쪽이 먼저 실행되고 바깥쪽이 나중에 실행된다.
<span class="link-modifier" data-modifier"a">
    <span class="event-listener" data-modifier="b">
        [[리버티게임:대문]]
    </span>
</span>

b 실행-a 실행

LinkCreater

  • link-slot-dummy: 태그 안에 아무런 링크가 없다면, 아무 기능이 없는href가 없고, 눌렀을 때 반응이 없는 링크(<a>)를 생성한다. EventTools와 함께 쓰면 좋다.
  • link-slot-dummy: 태그 안에 아무런 링크가 없다면, 현재 페이지를 가리키는href가 현재 페이지인 링크(<a>)를 생성한다. LinkModifier와 함께 쓰면 좋다.

EventTools

  • 이벤트를 비동기적으로 만든다.
  • 이벤트 handler/listener의 기본값을 재정의한다. 이벤트 handler/listener의 기본값은 안쪽에서 정의된 이벤트이다. (listener는 기존 listener/handler를 오버라이딩하지 않는다.)
  • listener는 (상대적) 기본값을 오버라이딩하지 않고, handler는 오버라이딩한다.
  • 바깥쪽이 먼저 실행되고 안쪽이 나중에 실행된다.
<span class="event-listener" data-target="link" data-listen-click="a">
    <span class="event-listener" data-target="link" data-listen-click="b">
        [[리버티게임:대문]]
    </span>
</span>

a 실행-b 실행-리버티게임:대문으로 이동 a에서는 기본 동작이 b 실행-리버티게임:대문으로 이동이다.

<span class="event-handler" data-target="link" data-handle-click='["a"]'>
    <span class="event-handler" data-target="link" data-handle-click='["b"]'>
        [[리버티게임:대문]]
    </span>
</span>

a 실행 a에서는 기본 동작이 b 실행-리버티게임:대문으로 이동이다. handler는 기본 동작을 실행시키지 않는다.

data-listen-(이벤트명)="(플래그) (동작)"
data-handle-(이벤트명)="(플래그) (동작)"
  • 이벤트 handler/listener는 기본적으로 동시에 실행되지만 다음 플래그는 이를 변경시킬 수 있다.
  • once는 처음 이벤트가 발생할 때 한번만 실행되고 그 이후 이벤트는 실행하지 않는다.
  • defer는 먼저 실행되는 listener/handler가 모두 작업을 완료했을 때 실행한다.
  • await는 다음에 실행되는 listener/handler가 이번 이벤트의 작업이 모두 완료될 때까지 기다린 후 실행되게 한다.
이번 이벤트 handler/listener 대기 여부
이전 / 이번 defer await defer await
즉시 대기 즉시 대기
defer 즉시 대기 즉시 대기
await 대기 대기 대기 대기
defer await 대기 대기 대기 대기
a
  defer ba 대기 후 실행
c
    defer da, b, c 대기 후 실행
e
await f
  gd 대기 후 실행
      await defer ha, b, c, d, e, f, g 대기 후 실행
        ia, b, c, d, e, f, g, h 대기 후 실행

이벤트 동작은 첫번째 요소가 동작 이름이고 나머지가 해당 동작의 인자인 JSON 배열으로, 다음과 같다.

["a", "b", 1, true, null, ["c"], {}]

이 때 a 동작이 실행되고 ["b", 1, true, null, ["c"], {}]가 인자로 제공된다.