大家可能會常常看到一些HTML裡都帶有data屬性,這些都是HTML5的自訂屬性,可以做很多事情,直接呼叫JS十分方便,雖然是HTML5的屬性,但好在jQuery通用的,所以基本在所有瀏覽器裡都是可以正常使用的,包括低版本的IE。以下為大家簡單介紹一下使用方法:
1、簡單使用
$(function(){
var _widget= $("#widget").attr("data-text" ); alert(_widget);//因為data-text="123456",所以印出123456
})
2、$.fn.extend使用,寫外掛
2、$.fn.extend使用,寫外掛
程式碼如下:
這裡是測試區域
複製程式碼
程式碼如下:
//外掛擴充部分
;(function($){
$.fn.extend({
Test:function(config ){
/**
* @param effect 效果
* config||{} 當有自訂屬性傳進來時不執行預設值
*/
// 設定預設值
config=$.extend({
effect:'click',
},config||{} );
var effect=config.effect;
var _text=config._text;
if(effect=='click'){
$(this).click(function(){
alert('this click');
})
}else if(effect=='mouseover'){
$(this).mouseover(function(){
alert(" this is mouseover");
})
}
}
複製程式碼程式碼如下: //呼叫部分,HTML中的data屬性依賴於此$(function() { var _widget= $("#widget").attr("data-widget-config"); // 將string轉換成json物件的方法,有兩種var widgetConfigJSON=eval ("(" _widget ")"); // var widgetConfigJSON = (new Function("return " _widget))(); $("#widget").Test(widgetConfigJSON); //因為HTML中data屬性是data-widget-config="{effect:'click'}",所以這裡會呼叫點擊事件, 如果是data-widget-config="{effect:'mouseover'} ",則呼叫滑鼠移上去的事件})