2016-11-18 51 views
0

我有一個自定義的一個div屬性posx自定義DIV屬性抓改變

<div class="js__scroll__canvas" posx="0"> 

另一個JS插件設置動態值POSX上滾動。

我試着趕posx是變化。

$(".js__scroll__canvas").attr("posx").change(function() { 
    alert("Handler for .change() called."); 
}); 

沒有提醒。如何捕捉它?請幫助

+0

請確保您包括jQuery庫與否?而在控制檯中的另一件事發生任何錯誤? –

+0

在你的html中,我會看到類js__scroll,但你用jQuery代碼js__scroll__canvas。請先檢查它 –

+0

對不起,我的錯誤,但不起作用,js庫是在,沒有任何錯誤。 – Alex

回答

0
<div class="js__scroll__canvas" posx="0"> 

$(".js__scroll__canvas").attr("posx")返回一個字符串"0"。所以,它不能作爲選擇器來調用change方法。

如果你想登錄,嘗試創建一個功能:

var logging = function() { 
    console.log('the attribute has been changed.'); 
}; 

var dowork = function() { 
    // try to update attribute  
    $(".js__scroll__canvas").attr("posx", "1"); 

    // logging 
    logging(); 
}; 
+0

另一js更新它動態滾動元素 – Alex

1

您可以設置事件和觸發它,而數據得到更新嘗試。請檢查下面的代碼片段,如果它可以幫助你。

//Set up an event 
 
$(".js__scroll__canvas").on('datachange', function(e, key){ 
 
    alert("Handler for .datachange() called."); 
 
}); 
 

 
// Then trigger it when you data gets updated 
 
$(".js__scroll__canvas").data('posx', 123).trigger('datachange');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="js__scroll__canvas" posx="0">

+0

就你而言,因爲它正在動態變化,所以我可以在滾動事件上觸發它。 –

+0

是否可以將(e,key)更改爲(ev,key)或(event,key) – Alex

+0

是的,您可以將其更改爲任何文本。 –