jQuery Mobile/JQM Tutorial

테이블에서 이벤트 다루기

솔웅 2012. 11. 6. 21:47
반응형
Manage events on tables


테이블의 각 cell 에서 처리될 수 있는 주요 이벤트는 click event 입니다. jQuery Mobile에서는 vclick virtual event 로도 사용할 수 있죠. tapholdswipe events 들도 사용될 수 있습니다.


예를 들어 cell 테이블에 long click  (taphold) 이 일어났을 때 어떤 동작을 하도록 만들 수 있습니다. 아래 예제는 long click 이 일어났을 때 그 cell 의 content를 delete 하는 예제입니다.


Deleting array elements by clicking and holding


<!DOCTYPE html>

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <p> Window content </p>  

    <div class=ui-grid-b>

      <div class=ui-block-a>Element 1.1</div>

      <div class=ui-block-b>Element 1.2</div>

      <div class=ui-block-c>Element 1.3</div>

      <div class=ui-block-a>Element 2.1</div>

      <div class=ui-block-b>Element 2.2</div>

      <div class=ui-block-c>Element 2.3</div>

      <div class=ui-block-a>Element 3.1</div>

      <div class=ui-block-b>Element 3.2</div>

      <div class=ui-block-c>Element 3.3</div>

    </div>

  </div>

</div>


</body>

</html>


<script>


$(".ui-block-a, .ui-block-b, .ui-block-c").bind ("taphold", function (event)

{

  $(this).html ("&nbsp;");

});


</script>


tistory446_01.html


테이블의 각 cell 에는 ui-block-a, ui-block-b, or ui-block-c CSS classes 들이 있습니다. 이 클래스들에 taphold event를 implement 했죠. 그러면 long click 이 감지되면 <div> 의 content 는 "&nbsp;"로 바뀝니다. 실제로 delete 되는건 아니죠 .하지만 사실상 delete 되는 것입니다. 해당 셀을 그냥 빈 공간으로 두는 것이 아니라 space 한칸을 두도록 만든 겁니다.





반응형