2012-03-28 2 views
2

이름을 업데이트하기 위해 수동으로 정렬 가능한 (예 : .trigger() 메소드 사용) 이벤트를 트리거하려는 페이지를 작성 중입니다. & 사용자가 만들 때 양식에 바인딩해야하는 입력 ID 적절한 정렬 가능한 이벤트를 자동으로 실행하지 않는 변경입니다. 나는 누군가가 시간을 알고 그것을 기꺼이 받아들이는지 더 잘 이해하기를 원한다는 것을 혼란스럽게 생각하는 두 가지 점이있다.정렬 가능한 이벤트를 수동으로 트리거 할 때 UI 개체가 null 인 이유는 무엇입니까?

첫 번째 혼란 점 : .sortable() 메서드 내에서 이벤트를 정의하면 "수동".trigger() 메서드가 아무 것도하지 않는 문제가 발생했습니다. (.bind에 대한 추가 호출을 추가하는 대신)). 해결 방법을 설명하는 수많은 게시물을 발견했지만이 기능이나 버그인지 명확하지 않습니다.

두 번째 혼란의 포인트 : 이벤트를 수동으로 트리거하면 "ui"개체가 null입니다. 이벤트가 정상적으로 트리거 될 때 정의됩니다. 내 응용 프로그램에서는 선택기를 사용하여이 문제를 해결할 수있었습니다. 어쨌든 실제로 필요한 것은 ui.item 이었기 때문입니다. " http://jsfiddle.net/nanzalone/TDWXs/

첫 번째는에 의해 설명된다 :하지만 다른 사람이 발생했는지 나는 혼란의 두 점을 보여주는 jsFiddle을 설정

등 뭔가 잘못을하고있어 경우, 알고 감사하겠습니다 수신 "이벤트. 드래그 가능한 항목을 정렬 가능한 항목으로 드래그하면 이벤트가 제대로 발생하는 것을 볼 수 있습니다. 그러나 .trigger()를 호출하는 "수신"버튼을 누르면 아무 것도하지 않습니다.

두 번째 항목은 "제거"이벤트로 표시됩니다. 이제는 .bind()를 사용했기 때문에 이벤트가 발생하지만 "Remove"버튼을 사용하여 이벤트를 트리거하면 null ui 객체로 나타나고 항목을 휴지통으로 드래그하면 제거가 트리거되지 않습니다. null UI 오브젝트.

미리 알려 주셔서 감사합니다. 모든 모조품에 대해 사과드립니다. 나는 무의식적으로 (나는 여전히 jQuery를 처음 사용함) 커밋 할 수 있습니다.

답변

1

저는 ui이 (예를 들어 떨어 뜨린 항목과 같은) UI에있는 것들을 결정할 때 사용하는 객체라고 생각합니다.
이벤트를 프로그래밍 방식으로 트리거하는 경우 사용자 상호 작용이 없으므로 UI ​​개체가 없습니다. 이것은 의미가 있으며 이벤트가 프로그래밍 방식으로 트리거되는지를 결정하는 방법이기도합니다 (일반적인 이벤트의 경우 this에서 수행)
예제에서 ui 객체는받은 객체의 원래 위치, 실제 위치와 같은 속성을 포함합니다 등

+0

매우 도움이됩니다, 시간 내 주셔서 감사합니다! 나는 ui 객체의 Sortable 페이지에있는 문서를 읽었지만 개념적으로 ui 객체가 무엇인지 생각하지는 않습니다. 나는 어떤 사양이나 이와 비슷한 것을 찾으려고 노력했다. (필자는 다양한 위젯에 UI가 어떻게 구현되는지 더 잘 이해할 수있는 "인터페이스"를 원했다.) ui의 검색 결과가 UI 프로젝트에만 적용 되었기 때문에 운이별로 없었습니다. 다시 말하지만, 귀하의 대답은 매우 도움이되었습니다, 감사합니다! – nicolas

+0

@nicolas 예 문서가 정말 좋지 않습니다. console.log()와 방화범을 사용하여 모든 것을 배웠습니다! :) –

관련 문제