2010-11-19 2 views
1

jQuery에서 요소에 데이터를 첨부하는 것은 간단합니다.기존/새 데이터 키 충돌?

$(selector).data(key, value).

그러나 내 모든 키에 내 루트 네임 스페이스를 접두어로 붙이기를 원할 수도 있습니다. 예를 들어 :

$(selector).data("MyDotComApp." + key, value)

이 시간 낭비인가? 나는 이것을 overthinking인가? 핵심 프레임 워크가 쓰는 데이터 또는 플러그인을 덮어 쓰는 것에 대해 걱정할 필요가 있습니까?

데이터 키의 이름을 지정하는 가장 좋은 방법은 있습니까?

+0

은 참으로 당신이 그것을 지나친 것 같아요 - 당신의 응용 프로그램에 적용되는 스마트 키 이름을 사용합니다. 나는 jQuery가 자신의 이름 앞에 무언가 (토큰, 심지어는) 접두사를 붙이면 걱정할 것이라고 생각하기 때문에 쉽게 충돌하지 않는다. 당신은 언제나 jQuery 소스 코드를 볼 수있다. – psychotik

답변

0

물론 모든 다양한 키의 연결을 통해 수행 할 필요는 없지만 확실히 상처를주지는 않습니다.

특정 도메인에 대한 데이터를 만들 때마다 도메인 이름이있는 요소의 데이터에 하나의 키를 만들고 개별 키를 저장할 수있는 개체를 제공 할 수 있습니다.

예 :http://jsfiddle.net/XwJbQ/

// The myDomain key in data references its own object 
$('img').data('myDomain', {}); 

    // then individual keys are added to the object myDomain references 
$('img').data('myDomain').someKey = "some value"; 
$('img').data('myDomain').someOtherKey = "some other value"; 

    // and are retrieved the same way 
alert($('img').data('myDomain').someKey); 
alert($('img').data('myDomain').someOtherKey);