2014-10-12 35 views
-1

我正在使用sketch.js html畫布庫在我的電子書的多個頁面上繪製。在我的應用程序中,電子書頁面在加載書本時動態加載。所以我注入一些網頁,我應該得出這樣的多帆布表:href錨標籤/ css選擇器問題,而不是id的畫布類

......//page content 
$(pageContent).append('<canvas class="simple_sketch" style="background: url(images/white.jpg);" width="400" height="600"></canvas>'); 

,然後使用每個循環

$('.simple_sketch').each(function() { 
    $(this).sketch(); 
}); 

到目前爲止,這工作得很好,我可以得出調用草圖功能在每個頁面上繪畫,但是當我嘗試添加工具(標記大小,顏色,重置按鈕)時,我的href定位標記不起作用。我的html標記看起來像這樣:

<div class="paint_tools"> 
    <a href="#simple_sketch" data-size="3"><img src="images/pen-medium.png" width="49" alt=""></a> 
    <a href="#simple_sketch" data-size="5"><img src="images/pen-medium.png" width="49" alt=""></a> 
    <a href="#simple_sketch" data-size="10"><img src="images/pen-large.png" width="49" alt=""></a> 
    <a class="colors" href="#simple_sketch" data-color="#8f395b" style="background: #8f395b;"></a> 
    <a class="colors" href="#simple_sketch" data-color="#c44f4f" style="background: #c44f4f;"></a> 
    <a class="colors" href="#simple_sketch" data-color="#ff66a2" style="background: #ff66a2;"></a> style="background: #46a843;"></a> 
</div> 

並且在這裏,我將id的'#'替換爲類的'。'。作爲

$('.paint_tools a').attr('href').replace('#','.'); 

,但似乎這是行不通的,任何一個可以請點我在哪裏丟失的挑選大小和顏色,順便說一句,我想只有這個有作爲在本書中所有畫布設置的唯一工具。

任何形式的幫助非常感謝,很多人提前感謝。

+0

順便說一句我跟着這個鏈接: http://stackoverflow.com/questions/5062499/show-class-instead-of-id-jquery – mahi 2014-10-12 14:25:07

回答

0

問題解決了:這是我如何固定它:

我發現,沒有必要更換#標籤,所以我刪除了一部分,我只是用點擊處理程序來更新我的標誌大小和顏色像:

$(function() { 
     $('.paint_tools a').on('click', function() { 
      var a = $(this).data('size'); 
      $('.simple_sketch').each(function(){ 
      $(this).sketch().set('size',a); 
      }) 
     }); 
    }); 

     $(function() { 
     $('.paint_tools a').on('click', function() { 
      var a = $(this).data('color'); 
      $('.simple_sketch').each(function(){ 
      $(this).sketch().set('color',a); 
      }) 
     }); 
    }); 

希望它能幫助有人使用像我這樣的素描庫。