سؤال

أريد أن قمع متصفح الويب الافتراضي تلميح الشاشة عندما يقوم المستخدم تحوم فوق بعض الروابط و العناصر.أنا أعلم أنه من الممكن ولكن لا أعرف كيف.يمكن لأي شخص أن تساعد ؟

والسبب في ذلك هو قمع tooltip microformatted تاريخ مرات.بي بي سي انخفض دعم hCalendar لأن appearane المقروءة آليا تاريخ وصول القضية لذوي الإعاقة المعرفية كما aswell بعض مستخدمي قارئ الشاشة. http://www.bbc.co.uk/blogs/bbcinternet/2008/07/why_the_bbc_removed_microforma.html

تحرير:

أضفت البرنامج المساعد مسج على نفس المنوال كما آرون اقتراح...

// uFsuppress plugin v1.0 - toggle microformatted dates
(function($){
$.ufsuppress = function() {
    $(".dtstart,.dtend,.bday").hover(function(){
        $(this).attr("ufdata",$(this).attr("title"));
        $(this).removeAttr("title");
    },function(){
        $(this).attr("title",$(this).attr("ufdata"));
        $(this).removeAttr("ufdata");
    });
}
})(jQuery);

// Usage
$.ufsuppress();
هل كانت مفيدة؟

المحلول

بقدر ما أنا أعلم أنه ليس من الممكن في الواقع وقمع تظهر علامة العنوان.

هناك بعض الحلول ولكن.

على افتراض هذا يعني أنك تريد الحفاظ على لقبه الملكية على الروابط الخاصة بك وعناصر, هل يمكن استخدام جافا سكريبت لإزالة عنوان العقار في onmouseover() ووضعه مرة أخرى في onmouseout().

// Suppress tooltip display for links that have the classname 'suppress'
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
    if (links[i].className == 'suppress') {
        links[i]._title = links[i].title;
        links[i].onmouseover = function() { 
            this.title = '';
        }
        links[i].onmouseout = function() { 
            this.title = this._title;
        }
    }
}

نصائح أخرى

إضافة هذا العنصر إلى html

    onmouseover="title='';"

على سبيل المثال لدي asp.net خانة الاختيار تخزين مخفي متغير ولكن لا تريد المستخدم أن نرى على تلميح الأدوات.

ركض عبر هذا الخيط عند استخدام البرنامج المساعد مسج timeago.فعلا الحل هو بسيط جدا باستخدام خاصية CSS pointer-events.نشر هذا لصالح الناس يأتون هنا من خلال محرك البحث :)

.suppress {
    pointer-events:none;
}

لاحظ أنه يجب أن لا تستخدم هذه لأشياء مثل الروابط التي يجب أن انقر فوق من خلال شيء.في هذه الحالة استخدام قبلت شبيبة الحل.

شيء مثل هذا في النموذج وسوف فارغة كل عنوان سمات التاريخ والوقت تنسيقات microformat مع فئة من 'dtstart':

$$('abbr.dtstart').each(function(abbr){abbr.title=' '})

ملاحظة لا تستخدم مساحة فارغة ، موزيلا وثائق العنصر.العنوان الدول

وفقا علة 264001 ووضع العنوان إلى سلسلة فارغة يؤدي الافتراضي وراثة السلوك.إلغاء الميراث العنوان أن يكون غير فارغة بيضاء السلسلة.

هذا لن يساعد في حل مشكلتك ولكن قد تكون مثيرة للاهتمام مع ذلك:هناك عالمي آخر سمة وبصرف النظر عن title والتي يمكن استخدامها لتخزين البيانات lang!

مجرد تحويل البيانات التي تريد تخزينها إلى سلسلة مستمرة و البادئة مع 'x-' إعلان خاص الاستخدام وفقا RFC 1766.


في التعليقات ، sanchothefat أوضح أنه يريد حل سهولة الاستخدام-القضايا مع ابر-تصميم-نمط في تنسيقات microformat.ولكن هناك أنماط أخرى وهي كما لغويا معنى (أو ، في رأيي حتى أكثر من ذلك) من هذا النمط.ماذا سأفعل:

<p>
 The party is at
  <dfn class="micro-date">10 o'clock on the 10th
   <var>20051010T10:10:10-010</var></dfn>.
</p>

معا اشتراكاتك هذه الأساليب

dfn.micro-date {
    font-weight: inherit;
    font-style: inherit;
}
dfn.micro-date var {
    display: none;
}

في رأيي لغويا الراجح أن يكون طريقة استخدام dl تعريف القائمة - التي لا يسمح داخل الفقرات.هذا يمكن أن يعمل حولها مع النمط التالي:

<p>
 The party is at <q cite="#micro-dates">10 o'clock on the 10th</q>.
</p>

<dl id="micro-dates">
 <dt>10 o'clock on the 10th</dt>
 <dd>20051010T10:10:10-010</dd>
</dl>

الأمر الذي يتطلب أكثر تطورا الأنماط:

q[cite='#micro-dates']:before {
    content: '';
}
q[cite='#micro-dates']:after {
    content: '';
}
dl#micro-dates {
    display: none;
}

هذا هو ما فعلته.

$('.fancybox').hover(
    function(){
        $(this).attr('alt',$(this).attr('title'));
        $(this).attr('title','');
    },
    function(){
        $(this).attr('title',$(this).attr('alt'));
        $(this).removeAttr('alt');
    }
).click(function(){
    $(this).attr('title',$(this).attr('alt'));
    $(this).removeAttr('alt');
});

يمكنك ربط 'mouseenter' الحدث return false عن الأم تلميحات من عرضه.

$(selector).on( 'mouseenter', function(){
    return false;
});

فمن الممكن لقمع هذا السلوك مع jQuery

var tempTitle;
$('[title]').hover(
  function(e) {
    debugger;
    e.preventDefault();
    tempTitle = $(this).attr('title');

    $(this).attr('title', '');
    // add attribute 'tipTitle' & populate on hover
    $(this).hover(
      function() {
        $(this).attr('tipTitle', tempTitle);
      }
    );
  },
  // restore title on mouseout
  function() {
    $(this).attr('title', tempTitle);
  }
);
.progress3 {
  position: relative;
  width: 100px;
  height: 100px;
  background: red;
}
.progress3:hover:after {
  background: #333;
  background: rgba(0, 0, 0, .8);
  border-radius: 5px;
  bottom: 26px;
  color: #fff;
  content: attr(data-tooltip);
  left: 20%;
  padding: 5px 15px;
  position: absolute;
  z-index: 98;
  width: 220px;
}
.progress3:hover:before {
  border: solid;
  border-color: #333 transparent;
  border-width: 6px 6px 0 6px;
  bottom: 20px;
  content: "";
  left: 50%;
  position: absolute;
  z-index: 99;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div title='abc' data-tooltip="This is some information for our tooltip." class="progress3">
  title='abc' will not be displayed
</div>

كمان

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top