Ich habe eine Schaltfläche auf einem Bootstrap-modal, das einige Daten (in der Modalität angezeigt) in die Zwischenablage (mit clipboard.js) kopieren soll.Bootstrap modal funktioniert nicht mit Clipboard.js (auf Firefox)
Modal scheint diese Aktion nicht zu unterstützen.
Wenn der Knopf, der das oben beschriebene Ereignis auslöst, außer modal ist, wirkt er wie ein Zauber! Also entschied ich mich, die Modal-Taste einen weiteren versteckten Knopf außerhalb des Modals auszulösen, damit die Aktion ausgeführt werden konnte. Aber es funktioniert immer noch nicht! Bitte helfen Sie, Code und Beispiel unten.
https://jsfiddle.net/w6rL9sqz/2/
js
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="js/clipboard.js"></script>
<script src="js/clipboard.min.js"></script>
<script>
$(document).ready(function()
{
//tooltip
$('.trigger-button').tooltip({
trigger : 'click'
});
$('.trigger-button').click(function()
{
$('.trigger-button').tooltip('show');
setTimeout(function()
{
$('.trigger-button').tooltip('hide');
},
2000);
$('#copy-button').trigger('click');
});
// copy to clipboard
var yii2_ids = 1234567890;
$('#copy-button').click(function(){
var clipboard = new Clipboard('#copy-button', {
text: function()
{
return yii2_ids;
}
});
clipboard.on('success', function(e) {
console.log(e);
});
});
});
</script>
html
<div class="container-fluid margin-top">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-8 col-md-offset-2 col-sm-10 col-sm-offset-1 col-xs-12 search-div">
<div class="row">
<center>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="copy-button" class="btn btn-primary" type="button" data-placement="left" class="btn btn-primary" title="Copied to Clipboard" style="display:none;">triggered-hidden</button>
<button class="btn btn-primary trigger-button trigger-button" type="button" data-placement="left" class="btn btn-primary" title="Copied to Clipboard">Copy to Clipboard</button>
<textarea></textarea>
</div>
</center>
</div>
<br />
<button class="btn btn-primary" data-target="#upload-ebook" data-toggle="modal" type="button">Modal</button>
<div class="modal fade bs-example-modal-lg" id="upload-ebook" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<p style="text-align:left; background: black; color: white; padiing: 20px;">
<samp><b>id = $id</b></samp><br>
</p>
</div>
<div class="modal-footer">
<button class="btn btn-primary trigger-button trigger-button" type="button" data-placement="left" class="btn btn-primary" title="Copied to Clipboard">Copy to Clipboard</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</div>
einfach diesen Hörer ändern : '$ ('# copy-button'). klick (function() {' zu '$ (document) .on ('click', '# copy-button', function() {' und es sollte funktionieren :) – Hackerman
Clipboard.js enthält bereits den Click-Ereignis-Listener, warum fügen Sie einen weiteren hinzu? –
@Hackerman Danke für die Antwort! Nein, tut es nicht :-( – dropdown