2017-04-23 44 views
0

試圖在jquery-ui button widget使用的圖標:jQuery UI的按鈕圖標:e.extra.match不是一個函數

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 

    <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 

    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
</head> 
<body> 

    <span class="ui-icon ui-icon-gear"></span> 
    <button id="btn">Button</button> 


<script> 

    $("#btn").button({ 
     icon: {icon: "ui-icon-gear"} 
    }); 

</script> 

</body> 
</html> 

我得到了以下錯誤:

遺漏的類型錯誤:e.extra。匹配不是在t的函數 。(匿名功能)。(匿名功能)._類(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:8956) 在t。(匿名功能)。(匿名功能)._ toggleClass(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:9473) 在t。(匿名功能)。 (匿名函數)._ addClass(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:9265)(anonymous function)。(匿名函數)._ updateIcon(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) at t。(匿名函數)。(匿名函數)._ updateIcon(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:8:17888) at t。 _enhance(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:8:17358) 在t。(匿名功能)。(匿名功能)._提高(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) 在t。(匿名功能)。(匿名功能)._創建(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:8:17057) 在t。(匿名功能)。(匿名函數)._創建(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499)在t 。(匿名函數)。(匿名函數).T(https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4326

關於如何解決這個問題的任何提示?

+0

你們是不是要保存在您的按鈕的 「按鈕」 的文字?或者你是否試圖影響只有圖標的按鈕? –

+0

@Ito Pizarro最終目標是擁有一個只有圖標的按鈕,但無論該按鈕是否帶有文本,我都會收到該錯誤 – revy

回答

2

您冗餘地複製了您的配置對象。

$([selector]).button({ 
    icon: "ui-icon-gear" // you don't have to pass `icon` its own object here 
}); 

而且,要抑制「Button」文本,您可以添加showLabel: false屬性。 此外,您的<span class="ui-icon ui-icon-gear"></span>不需要在button內呈現圖標。

$("#button-example-1").button({ 
 
    icon: "ui-icon-gear" 
 
}); 
 
$("#button-example-2").button({ 
 
    icon: "ui-icon-gear", 
 
    showLabel: false 
 
});
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
 

 
<button id="button-example-1">Button with icon and text</button> 
 
<button id="button-example-2">Icon only button</button>

+0

謝謝jquery docs上的代碼片段讓我困惑。 span圖標只是爲了顯示jquery圖標類正常工作 – revy

相關問題