Как отключить поведение меток в Chrome по умолчанию - PullRequest
2 голосов
/ 02 декабря 2011

В Chrome

Я хочу использовать метку сведений <details>details</details>.

Но мне не нужно его поведение по умолчанию.

И как его отключить?

http://jsfiddle.net/x8csg/

Ответы [ 3 ]

0 голосов
/ 16 января 2013

В зависимости от того, что вы хотите сделать, я могу предложить следующее:

$('details').click(function(e){ e.preventDefault(); });

Вы должны предотвратить поведение по умолчанию. Как вы хотите заблокировать кнопки отправки формы ...

Обратите внимание, что в этом случае детали будут скрыты, поэтому вы должны изменить на:

<details open>details</details>
0 голосов
/ 20 марта 2014

Только для справки, более полный ответ - это нужно настроить как на CSS, так и на Javascript:

Javascript:

var d=document.querySelectorAll('details:not(open)'), 
    i=d.length,
    f=function(e){e.preventDefault();};

while(i-- > 0) {

    // set the open attribute to the elements that doesn't have one 
    d[i].setAttribute('open',''); 

    // disable open/close behavior
    d[i].onclick = f;
}
// cleanup
delete(d);
delete(i);
delete(f);

Или стиль jQuery:

$('details:not(open)').attr('open',true).click(function(e){ e.preventDefault(); });

CSS:

/* disable <summary> marker/arrow on webkit */
summary::-webkit-details-marker { display: none;}

/* disable outline when clicked */
summary:focus{outline:none;}
0 голосов
/ 02 декабря 2011
summary::-webkit-details-marker {
    display: none;
}

http://jsfiddle.net/x8csg/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...