현재 더 많은 정보를 제공하려면 일부 HTML의 title
속성을 설정합니다:
<p>An <span class="more_info" title="also called an underscore">underline</span> character is used here</p>
그런 다음 CSS에서:
.more_info {
border-bottom: 1px dotted;
}
마우스를 움직이면 시각적 표시가 나타나고 자세한 정보가 담긴 작은 팝업이 표시되는 등 매우 훌륭하게 작동합니다. 하지만 모바일 브라우저에서는 해당 툴팁이 표시되지 않습니다. 제목` 속성은 효과가 없는 것 같습니다. 모바일 브라우저에서 텍스트에 대한 자세한 정보를 제공하는 올바른 방법은 무엇인가요? 위와 동일하지만 자바스크립트를 사용하여 클릭을 수신한 다음 툴팁처럼 보이는 대화 상자를 표시하는 방법은 무엇인가요? 기본 메커니즘이 있나요?
자바스크립트로 제목 툴팁 동작을 위조할 수 있습니다. 'title' 속성이 있는 요소를 클릭하거나 탭하면 제목 텍스트가 있는 하위 요소가 추가됩니다. 다시 클릭하면 제거됩니다.
자바스크립트(jQuery로 수행):
$("span[title]").click(function () {
var $title = $(this).find(".title");
if (!$title.length) {
$(this).append('<span class="title">' + $(this).attr("title") + '</span>');
} else {
$title.remove();
}
});
CSS:
.more_info {
border-bottom: 1px dotted;
position: relative;
}
.more_info .title {
position: absolute;
top: 20px;
background: silver;
padding: 4px;
left: 0;
white-space: nowrap;
}
데모:
많은 사람들이 요즘 점을 감안할 때 (2015년), t 모바일 브라우저 · 제목 그대로 사용할 수 있는 모바일 브라우저, 아마 it& hasn& # 39 일종의 노출 시간을 # 39 의 제목을 의존도가 의미 있는 정보를 빛위에 업신 여기다.
이 절대 안 되고, 이제는 대한 중요한 정보를 사용할 수 있는 유용한 정보는 때문에 유용한 정보를 표시할 수 없는 경우, 일부 및 사용자, 그리고 거의 모든 사용자의 요구를 redhat. 반단면 다른 방법을 찾을 수 있다.
정적 페이지 대한, 아마도 가까이 보이는 텍스트 관련 컨트롤이거나, 일부 미세 때에도 쓴다. 모바일 브라우저 (해당 페이지에 대한 서버 생성할지 있지만브라우저에 스니핑 제공할 수 있다. 클라이언트 측에서, 자바스크립트, 이벤트, 진흙 표시하십시오 트랩하는 사용할 수 있는 힘을 통해 현재 집중된 옆에 별도의 텍스트 요소. 그렇게 많이 차지하고 있지만, 화면 공간을 최소화 할 수 있는 것은 아닙니다, 사용, 이후 많이 들여오는 데 초점을 맞출 수 있는 방식으로 인스턴스에서는 제어점 이벤트여야만 수행됨 활성화함 그 활동 없이 즉시 확인할 수 있는 it 사용하기 전에!
하지만, 모든 어려움을 통해 모바일 장치에서 제목 속성을 보여주는 것으로 보인다) 는 대부분 몰락하고 인해 발생할 수 있는 대안이 필요한 것은 더 보편적인. 즉, 스마트폰 등 때문에 증명할 수 있는 방법을 사용할 수 있는 주문형 추가 정보 표시, 한정된 화면 공간을 차지하지 않고.
W3c 및 모바일 브라우저 결정권자에게 듯하다 이 문제에 대한 게 아무 것도 안 한 지 오래다. 그러나 최소한 제목 텍스트 메뉴 위에 표시할 수 있을 때 나타나는 대한 오랜 누름에 제어점 만들어집니다.
개인적으로 전송되었기 강조표시할 영안실에 상단형 마우스 오른쪽 메뉴 / 긴 터치 won& 것처럼, t # 39 시간 제한 및 약간만이라도 support. dell. 모든 브라우저.
다른 대안은 chunghwa 각주 도왔으매 [ui_policytable_java_spe_policy n] 는 더 많은 정보를 필요로 하는 요소 옆에 동일팔레트에 문자줄 위 / 문자 텍스트 바뀌엇어요 링크하려는 설명 페이지 하단에 있는. [명사] 할 수 있는 이들 각 비슷한 유형을 https://partner. 다시 원래 텍스트 / 요소. 하지만, 그것은 계속 사용하면 쉽게 바꿀 수 있는 디스플레이 깔끔한 이쪽요 양방향일 간단한 방법. 가끔, 기존 인쇄 미디어 방법으로 조금만 하이퍼링크에 도움말에서는 가장 바람직합니다.
그동안 일부 브라우저에서 텍스트 의해 납치된 제목 속성 속성 패턴에 대한 도움말을 제공할 수 있다는 점에서 튀어나올 경우 해당 텍스트 패턴, 텍스트 입력 t # 39 doesn& 일치시킵니다 요소. 대개의 경우 적절한 형태로 제공하는 것을 예로.
조금 더 자세히 버전니다 flavaflo& # 39 의 대답:
HTML:
<span class="more_info">Main Text<div class="popup">Pop-up text can use <b>HTML</b><div></span>
CSS.
.more_info {
border-bottom: 1px dotted #000;
position: relative;
cursor: pointer;
}
.more_info .popup {
position: absolute;
top: 15px; /*must overlap parent element otherwise pop-up doesn't stay open when rolloing over '*/
background: #fff;
border: 1px solid #ccc;
padding: 8px;
left: 0;
max-width: 240px;
min-width: 180px;
z-index: 100;
display: none;
}
자바스크립트 / 포함한다.
$(document).ready(function () {
//init pop-ups
$(".popup").attr("data-close", false);
//click on pop-up opener
//pop-up is expected to be a child of opener
$(".more_info").click(function () {
var $title = $(this).find(".popup");
//open if not marked for closing
if ($title.attr("data-close") === "false") {
$title.show();
}
//reset popup
$title.attr("data-close", false);
});
//mark pop-up for closing if clicked on
//close is initiated by document.mouseup,
//marker will stop opener from re-opening it
$(".popup").click(function () {
$(this).attr("data-close",true);
});
//hide all pop-ups
$(document).mouseup(function () {
$(".popup").hide();
});
//show on rollover if mouse is used
$(".more_info").mouseenter(function () {
var $title = $(this).find(".popup");
$title.show();
});
//hide on roll-out
$(".more_info").mouseleave(function () {
var $title = $(this).find(".popup");
$title.hide();
});
});
데모 열렸으니까. [
] [1]@Cimmanon 언급한 바 있다. '스팬합니다 이후 대면 [제목] {내용: 속성 (제목)} '를 사용하면 대한 기본적인 도구팁 터치 스크린 디바이스입니다. 이 문제가 있는 죄송합니다. 비헤이비어를 선택하는 것이 기본 ui 의 경우 터치 스크린 디바이스에는 비사양 https://partner. 는 텍스트 / 이콘트럴 눌려졌습니다.
문제 해결을 위해 ' [제목] > 스팬할 선택물을 추가할 수 있습니다. {사용자 선택: [제목] 스팬할 되니그들} 떠 있는 >. {사용자 선택: '자동}
일부 다른 모든 종류의 솔루션 기술을 사용할 수 있습니다.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
document.body.addEventListener('touchstart', function() {
document.body.classList.add('touched');
});
[title] {
border-bottom: 1px dashed rgba(0, 0, 0, 0.2);
border-radius:2px;
position: relative;
}
body.touched [title] > * {
user-select: none;
}
body.touched [title]:hover > * {
user-select: auto
}
body.touched [title]:hover:after {
position: absolute;
top: 100%;
right: -10%;
content: attr(title);
border: 1px solid rgba(0, 0, 0, 0.2);
background-color: white;
box-shadow: 1px 1px 3px;
padding: 0.3em;
z-index: 1;
}
<div>Some text where a portion has a <span title="here's your tooltip">tooltip</span></div>
끝 - < 스니핏 >;!
덕분에 @flavaflo 대한 답변을. 하지만 대부분의 경우 이 작품은 제목이 같은 경우 둘 이상의 조회 링크 위에 다른 컨텍스트로 열었든 단락, 한 곳에 첫 번째 링크를 통해 보여 줍니다. 이 변경에 따라 유연하게 해결할 수 있는 제목 z-인덱스 뛰어오름 up" ";:
$("span[title]").click(function () {
var $title = $(this).find(".title");
if (!$title.length) {
$(this).append('<span class="title">' + $(this).attr("title") + '</span>');
$(this).css('z-index', 2);
} else {
$title.remove();
$(this).css('z-index', 0);
}
});
또한 모두 '를 통해 디스플레이 및 디스플레이 위에 내말들어봐 multiline 추가하기만 &, # & # 39 를 title = 10;' (linefeed), & # 39. 이 후 ',' 에 대해, br /> 속성용 변환하십시오 < html 표시를 클릭합니다.
$(this).append('<span class="title">' + $(this).attr("title").replace(/\\n/g, '<br />') + '</span>');