요소 입력에 대한 JQuery 사용자 정의 이벤트 핸들러

codedme

여기에 4 개의 상자와 원 (일부 샘플 요소)이 있습니다. 원은 절대 위치이며 트리거로 던지기 상자를 자유롭게 이동할 수 있습니다.

이제 상자에 원을 입력 할 때 뭔가를해야합니다. "mouseenter"대신 "circleenter"와 같은 사용자 지정 이벤트 처리기를 정의 할 수있는 방법이 있는지 궁금합니다.

다음은 JSFiddle입니다.

각 상자를 마우스로 가리키면 원이 해당 상자로 이동하고 색상이 변경됩니다. 전달 된 모든 사각형의 색상도 변경하거나 경로의 사각형에서 다른 작업을 수행한다고 가정합니다.

스크립트:

$(document).ready(function(){
    var circle=$(".circle");
    $(".box").mouseenter(function(){
        var $this=$(this),
            idx=$this.index();
        width=$this.width();
        var animate={left:width*idx+18};
        circle.animate(animate,200,function(){
            $this.css("background","#888");
        });
    });
});

CSS :

#box-wrapper{
    position:relative;
    width:400px;
    height:100px;
}
.box{
    width:75px;
    height:75px;
    border:1px solid #000;
    background:#ccc;
    float:left;
    cursor:pointer;
}
.circle{
    position:absolute;
    width:36px;
    height:36px;
    border-radius:50%;
    background:#fff800;
    left:18px;
    top:18px;     
}

이것은 단지 예일 뿐이므로 질문은 그러한 상황에서 우리는 다음과 같은 것을 가질 수 $(".box").on("circleenter")있습니까?

미리 감사드립니다.

Rusmus

이벤트를 자동으로 실행할 수는 없지만 여기에 설명 된 jQuery 트리거 메서드를 사용하여 사용자 지정 이벤트를 트리거 할 수 있습니다 . 문서의 예 :

$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );

댓글에서 마우스가 원에 들어 갔는지 여부에 관계없이 원이 사각형을 통과 할 때 이벤트가 발생하기를 원하는 것으로 보입니다. 그렇기 때문에 애니메이션에서 '진행'옵션을 사용하는 것 외에 다른 해결책을 볼 수 없으며 각 단계에서 사각형을 입력했는지 확인합니다. 하지만 성능 문제에주의해야합니다 ...

$(document).ready(function(){
    var circle=$(".circle");

    $('.box').on('circleenter', function(){
        $this.css("background","#888");
    });

    $(".box").mouseenter(function(){
        var $this=$(this),
            idx=$this.index();
        width=$this.width();
        var animate={left:width*idx+18};
        var lastBoxId = null;
        circle.animate(animate,
           {duration: 200, 
            progress: function(){
              //Check whether the circle has entered a box
              var currentBox = //Get the current box;
              if(currentBox && currentBox.id != lastBoxId){
                  $(currentBox).trigger('circleenter');
                  lastBoxId = currentBox.id;
              }
            }});
    });
});

다음은 요소 간의 겹침을 찾는 데 도움이 될 수있는 몇 가지 SO 답변입니다.

jQuery / JavaScript 충돌 감지

겹치는 HTML 요소를 감지하는 방법

그러나 Google 검색은 도움이되지 않는 경우 훨씬 더 많이 나타납니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동일한 유형의 모든 요소에 jQuery 이벤트 핸들러 적용

분류에서Dev

특정 div의 요소에 대한 onclick 이벤트 핸들러

분류에서Dev

여러 요소에 한 번의 클릭 이벤트 핸들러 적용

분류에서Dev

Reactjs를 사용하여 동일한 이벤트 및 요소에 대한 여러 이벤트 핸들러

분류에서Dev

사용자 정의 입력 구성 요소에 대한 vue 변경 이벤트

분류에서Dev

Jquery, 사용자 정의 이벤트에서 모든 핸들러 제거

분류에서Dev

여러 이벤트, 여러 핸들러 및 새 요소에 적용하는 jQuery .on

분류에서Dev

이벤트 이름에 와일드 카드가있는 JQuery 사용자 정의 이벤트 핸들러

분류에서Dev

Android를 처음 사용하는 경우 프래그먼트 내부의 요소에 대한 이벤트 핸들러를 어떻게 초기화합니까?

분류에서Dev

Jquery를 사용하여 한 요소의 onclick 핸들러를 다른 요소에서 위임

분류에서Dev

jQuery : 단일 요소에 대한 태그 이벤트 재정의

분류에서Dev

이벤트 핸들러를 jQuery의 여러 요소 변수에 바인딩 하시겠습니까?

분류에서Dev

여러 핸들러에 대한 하나의 이벤트-Laravel

분류에서Dev

DOM 요소에 대한 이벤트 핸들러를 등록하는 방법

분류에서Dev

여러 요소에 대한 JS / Jquery 버튼 핸들러

분류에서Dev

이벤트 핸들러는 이벤트 소스에 작용

분류에서Dev

InfiniteCalendar의 onSelect에 대한 이벤트 핸들러

분류에서Dev

Swift 3의 DispatchSource에 대한 GCD 함수 이벤트 핸들러?

분류에서Dev

입력을위한 jQuery 이벤트 핸들러 (텍스트 입력)

분류에서Dev

특정 클래스 (핸들러)의 하위 요소에 대한 클릭 토글-jquery

분류에서Dev

여러 버튼에 동일한 이벤트 핸들러 사용

분류에서Dev

함수에 대한 사용자 정의 입력을 사용하여 요소에 onclick 이벤트를 추가하는 방법

분류에서Dev

함수에 대한 사용자 정의 입력을 사용하여 요소에 onclick 이벤트를 추가하는 방법

분류에서Dev

클릭 된 요소의 속성 잡기-클릭 이벤트 핸들러 사용

분류에서Dev

캡처 단계에서 요소의 이벤트 핸들러를 실행하는 다양한 방법

분류에서Dev

jQuery ajax 요청을 사용하여 이벤트 핸들러 뒤의 코드를 트리거하는 방법

분류에서Dev

Jquery 플러그인-여러 요소에 대한 onclick 이벤트

분류에서Dev

Javascript 클래스 생성자 내에서 jQuery 이벤트 핸들러 사용

분류에서Dev

jQuery의 .click () 이벤트 핸들러를 사용하여 Google Analytics 'send'메소드를 등록하면 제대로 작동합니까?

Related 관련 기사

  1. 1

    동일한 유형의 모든 요소에 jQuery 이벤트 핸들러 적용

  2. 2

    특정 div의 요소에 대한 onclick 이벤트 핸들러

  3. 3

    여러 요소에 한 번의 클릭 이벤트 핸들러 적용

  4. 4

    Reactjs를 사용하여 동일한 이벤트 및 요소에 대한 여러 이벤트 핸들러

  5. 5

    사용자 정의 입력 구성 요소에 대한 vue 변경 이벤트

  6. 6

    Jquery, 사용자 정의 이벤트에서 모든 핸들러 제거

  7. 7

    여러 이벤트, 여러 핸들러 및 새 요소에 적용하는 jQuery .on

  8. 8

    이벤트 이름에 와일드 카드가있는 JQuery 사용자 정의 이벤트 핸들러

  9. 9

    Android를 처음 사용하는 경우 프래그먼트 내부의 요소에 대한 이벤트 핸들러를 어떻게 초기화합니까?

  10. 10

    Jquery를 사용하여 한 요소의 onclick 핸들러를 다른 요소에서 위임

  11. 11

    jQuery : 단일 요소에 대한 태그 이벤트 재정의

  12. 12

    이벤트 핸들러를 jQuery의 여러 요소 변수에 바인딩 하시겠습니까?

  13. 13

    여러 핸들러에 대한 하나의 이벤트-Laravel

  14. 14

    DOM 요소에 대한 이벤트 핸들러를 등록하는 방법

  15. 15

    여러 요소에 대한 JS / Jquery 버튼 핸들러

  16. 16

    이벤트 핸들러는 이벤트 소스에 작용

  17. 17

    InfiniteCalendar의 onSelect에 대한 이벤트 핸들러

  18. 18

    Swift 3의 DispatchSource에 대한 GCD 함수 이벤트 핸들러?

  19. 19

    입력을위한 jQuery 이벤트 핸들러 (텍스트 입력)

  20. 20

    특정 클래스 (핸들러)의 하위 요소에 대한 클릭 토글-jquery

  21. 21

    여러 버튼에 동일한 이벤트 핸들러 사용

  22. 22

    함수에 대한 사용자 정의 입력을 사용하여 요소에 onclick 이벤트를 추가하는 방법

  23. 23

    함수에 대한 사용자 정의 입력을 사용하여 요소에 onclick 이벤트를 추가하는 방법

  24. 24

    클릭 된 요소의 속성 잡기-클릭 이벤트 핸들러 사용

  25. 25

    캡처 단계에서 요소의 이벤트 핸들러를 실행하는 다양한 방법

  26. 26

    jQuery ajax 요청을 사용하여 이벤트 핸들러 뒤의 코드를 트리거하는 방법

  27. 27

    Jquery 플러그인-여러 요소에 대한 onclick 이벤트

  28. 28

    Javascript 클래스 생성자 내에서 jQuery 이벤트 핸들러 사용

  29. 29

    jQuery의 .click () 이벤트 핸들러를 사용하여 Google Analytics 'send'메소드를 등록하면 제대로 작동합니까?

뜨겁다태그

보관