簡體   English   中英

在span標記內套用onclick事件

[英]Apply onclick event inside a span tag

我正在嘗試在span標簽上應用onclick事件,但收到以下錯誤。 我想我是用正確的方式做的。

VM409 twitter-message-73266664:892 Uncaught ReferenceError: clip is not 
defined
at HTMLSpanElement.onclick

跨度標簽

<td><span id="bootstrap_css_link" class="badge  btn btn-success bootstrap_css_link" onclick="clip(this.id)" data-clipboard-target="#clipboardExample1">copy</span></td>

剪輯方法

$( document ).ready(function() {
    function clip(clip_id){
        var clipboard = new ClipboardJS(clip_id);
        clipboard.on('success', function(e) {
          setTooltip(e.trigger, 'Copied!');
          hideTooltip(e.trigger);
          //alert("hello");
        });
     } 
});

由於clip在函數內部,因此無法從外部進行訪問。 刪除document.ready

function clip(clip_id) {
  var clipboard = new ClipboardJS(clip_id);
  clipboard.on('success', function(e) {
    setTooltip(e.trigger, 'Copied!');
    hideTooltip(e.trigger);
  });
}

clip函數在全局范圍內不可用,因為它是在另一個函數中定義的。 您需要找到元素並通過JavaScript附加事件處理程序。

 $(document).ready(function() { $("#bootstrap_css_link").on("click", clip); function clip(event) { console.log(event.target.id) } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <td><span id="bootstrap_css_link" class="badge btn btn-success bootstrap_css_link" data-clipboard-target="#clipboardExample1">copy</span></td> 

$( document ).ready(function() {
$('#bootstrap_css_link).click(function () {
var newArray
function clip(clip_id){
var clipboard = new ClipboardJS(clip_id);
clipboard.on('success', function(e) {
  setTooltip(e.trigger, 'Copied!');
hideTooltip(e.trigger);
//alert("hello");
});

 } 
});

});

您必須在$(document).ready之外定義clip函數,所以您只需要這樣定義函數

function clip(clip_id){
    var clipboard = new ClipboardJS(clip_id);
    clipboard.on('success', function(e) {
      setTooltip(e.trigger, 'Copied!');
      hideTooltip(e.trigger);
      //alert("hello");
    });
 } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM