Birden çok “veri geçişli” önyükleme kontrolü


154

"Veri değiştirme" ile bir önyükleme denetimine birden fazla olay atamanın bir yolu var mı? Örneğin, "araç ipucu" ve "düğme" geçişine atanmış bir düğme istediğimi varsayalım.
Denenmiş data-toggle = "ipucu düğmesi", ancak yalnızca ipucu çalıştı.

DÜZENLE:

Bu ile kolayca "geçici olarak çözülebilir"

$("#newbtn").toggleClass("active").toggleClass("btn-warning").toggleClass("btn-success");

Yanıtlar:


330

Javascript eklemeden veya araç ipucu işlevini değiştirmeden bir kip ve araç ipucu eklemek isterseniz, çevresine bir öğe de ekleyebilirsiniz :

<span data-toggle="modal" data-target="modal">
    <a data-toggle="tooltip" data-placement="top" title="Tooltip">
      Hover Me           
    </a>
</span>

6
Aslında en iyi yaklaşım budur çünkü sunum katmanına sunum endişesini ortadan kaldırır.
LastTribunal

3
Yine de bazı farklar vardır: data-toggle="tooltip"ana (düğme) öğesinin içindeki bir öğe, o öğenin dışında düzgün bir şekilde gösterilirken, bir yayılma sargısının içine yerleştirilirse bu öğeyle çakışır.
Benjamin

1
teşekkürler bu nasıl yapılmalı - Hayır javascript
tsadkan yitbarek

Kısa, Basit ve Akıllı Çözüm. Anchor etiketine Span eklemek, bootstrap'taki tasarımı değiştirmez. Bu, modeli ve ipucunu birlikte çalıştırmak için Mükemmel Çözümdür.
ankit suthar

Bu benim için çalışmadı<span data-toggle="modal" data-target="#myModalForm" title="Click to edit row" data-row="0" data-cmid="425" data-id="11788" data-src="1.1.1.1" data-src_desc="null" data-dst="2.2.2.2" data-dst_desc="null" data-protocol="TCP" data-ports="80" data-remarks="none"><a class="btn btn-sm btn-info" data-toggle="tooltip" title="Click to edit row" data-original-title="Click to edit row" data-trigger="hover" href="javascript:void(0)"><i class="fa fa-pencil" aria-hidden="true"></i></a></span>
shorif2000

73

Araç ipucu otomatik olarak başlatılmadığından, araç ipucunu başlattığınızda değişiklikler yapabilirsiniz. Benimkini böyle yaptım:

$(document).ready(function() {
    $('body').tooltip({
        selector: "[data-tooltip=tooltip]",
        container: "body"
    });
});

bu işaretleme ile:

<button type="button" data-target="#myModal" data-toggle="modal" data-tooltip="tooltip" class="btn btn-info" title="Your tooltip">Text here</button>

Dikkat edin data-tooltip.

Güncelleme

Ya da sadece,

$('[data-tooltip="tooltip"]').tooltip();

10
Bunu aşağıdakilerle basitleştirdi: $ ('[data-tooltip = "tooltip"]'). Tooltip ();
Ryan Currah

3
Güncellenmiş cevabınızı kullandı ve çok kolay oldu, mükemmel çalıştı
The One and Only ChemistryBlob

1
güzel bir çözüm sarma daha iyi
D3VELOPER

1
Bununla ilgili sorun (ve şu anda bu sorudaki diğer çözümler), modal'ı açmak ve ardından kapatmak için tıklattığınızda, fare düğmeden ayrılsa bile araç ipucu tekrar görünür (veya görünür kalır). Yukarıdaki / aşağıda düğmeyi engelleyebileceğinden, örneğin her satırda bir tabloda düğmeler varsa, bu çok can sıkıcı bir durumdur. Gizlemenin tek yolu, araç ipucunun dışında bir yere tıklamaktır.
sarılmak

1
Bu yaklaşımı sarıcı ile kabul edilen cevaptan çok daha fazla seviyorum. DOM'u aşırı yüklemeden HTML5 kapasitelerini genişlettiği için çok basittir. Ayrıca benim durumumda sarıcı yaklaşım işe yaramadı
Canelo Digital

11

Aşağıdaki jQuery parçası ile herhangi bir biçimlendirme değiştirmek gerek kalmadan bu sorunu çözmeyi başardı. Ben zaten bir mod için veri geçiş kullanarak bir düğme üzerinde bir araç ipucu istedim benzer bir sorun vardı. Burada yapmanız gereken tek şey düğmeye başlık eklemek.

$('[data-toggle="modal"][title]').tooltip();

9

Bu yeni uyguladığım en iyi çözüm:

HTML

<a data-toggle="tooltip" rel="tooltip" data-placement="top" title="My Tooltip text!">Hover over me</a>

Hangi yöntemi kullanırsanız kullanın, yine de eklemeniz gereken JAVASCRIPT .

$('[rel="tooltip"]').tooltip(); 

1
Bu en temiz, en az rahatsız edici cevaptır
Smyrnian


3

Modal yüklemek ve araç ipucu için veri geçiş bırakmak için href kullanın:

<a 
    data-toggle="tooltip"
    data-placement="top"
    title="My Tooltip text!"
    href="javascript:$('#id').modal('show');"
>
+
</a>

3

Bootstrap sizi yalnızca ipuçlarını Javascript ile başlatmaya zorladığından, data-toggle="tooltip"(daha sonra işe yaramaz olduğu için) olarak değiştirdim class="bootstrap-tooltip"ve araç ipuçlarını başlatmak için bu Javascript'i kullandım:

$('.bootstrap-tooltip').tooltip();

Ve bu yüzden bu data-toggleözelliği başka bir şey (örneğin data-toggle="button") için kullanmakta özgürdüm .


Harika. HTML'yi de ekleyin.
Web_Developer

2

Sadece @Roman Holzner cevabı için ...

Benim durumumda, araç ipucunu gösteren bir düğme var ve daha sonraki eylemlere kadar devre dışı kalmalıdır. Yaklaşımını kullanarak, düğme devre dışı bırakılsa bile çalışır, çünkü çağrısı düğmenin dışındadır - Sadece net olmak için Laravel blade dosyasındayım :)

<span data-toggle="modal" data-target="#confirm-delete" data-href="{{ $e->id }}">
    <button name="delete" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Excluir Entrada" disabled>
        <i class="fa fa-trash fa-fw"></i>
    </button>
</span>

Bu nedenle, modu yalnızca düğme etkinken göstermek istiyorsanız, etiketlerin sırasını değiştirmeniz gerekir:

<span data-toggle="tooltip" data-placement="bottom" title="Excluir Entrada" disabled>
    <button name="delete" class="btn btn-default" data-href="{{ $e->id }}" data-toggle="modal" data-target="#confirm-delete" disabled>
        <i class="fa fa-trash fa-fw"></i>
    </button>
</span>

Test etmek istiyorsanız, özelliği bir JQuery koduyla değiştirin:

$('button[name=delete]').attr('disabled', false);

2

Bir çözüm daha:

    <a data-toggle="modal" data-target="#exampleModalCenter">
      <span
        class="tags"
        data-toggle="tooltip"
        data-placement="right"
        title="Tooltip text"
      >
        Text
     </span>
   </a>

2

Sınıfı kullanmanın hoş bir çözümü var .stretched-link. Düğme bir sınıfa sahip olmalıdır .position-relative. İşte tam bir çalışma örneği:

Araç ipucu düğmeye eklenmelidir, aksi takdirde konumu yanlış olur.

$('[data-toggle="tooltip"]').tooltip();
/*DEMO*/.btn{margin-left:5rem;margin-top:5rem}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

<!--BUTTON-->
<button class="btn btn-primary position-relative" data-toggle="tooltip" data-trigger="hover" data-placement="left" title="Tooltip text">
    <span class="stretched-link" data-toggle="modal" data-target="#exampleModal"></span>
    Click Me!
</button>

<!--DEMO MODAL-->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h5 class="modal-title" id="exampleModalLabel">Modal title</h5><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button></div><div class="modal-body">Modal body</div></div></div></div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>


1

Bir etikette kip açtığınızda ve araç ipucunu göstermek istediğinizde ve etiketin içine araç ipucu uygularsanız, etiketin yakınında araç ipucu gösterilir. bunun gibi

resim açıklamasını buraya girin

Ben bir etiket dışında div ve "display: inline-block;"

<div data-toggle="tooltip" title="" data-original-title="Add" style=" display inline-block;">
    <a class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="setSelectedRoleId(6)">
     <span class="fa fa-plus"></span>
    </a>
</div>

resim açıklamasını buraya girin


0

<a data-toggle="tooltip" data-placement="top" title="My Tooltip text!">+</a>

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.