2013-07-18 2 views
0

Я создал простое приложение для рисования с помощью скрипта из mudcu, sketch.js.Trigger javascript function onclick

Я внесла некоторые изменения в код, но теперь у меня есть проблемы с вызовом функции, задающей цвет карандаша.

var Sketch = function(config) { "use strict"; 
var that = this; 
........... 
var ctx2 = layer2d[2]; 
// Style object. 
this.zoom = 1; 

this.style = { 
    tool: "brush", 
    globalAlpha: 1, 
    globalCompositeOperation: "source-over", 
    strokeStyle: "#000", 
    lineWidth: 5, 
    lineCap: "round", 
    lineJoin: "round" 

Мой вопрос, как я могу установить «this.style» StrokeStyle к, например, «# D55151», когда пользователь нажимает кнопку?

+0

Можете ли вы дать нам большую часть кода и html для кнопки – thinklinux

ответ

0

Использование JQuery является хорошим решением для вашей проблемы:

<button id="myBtn">My Button</button> 

JQuery

$('#myBtn').click(function(){ 
    // set you style 
    that.style.strokeStyle = "#D55151"; // var that = this; 
}); 

UPDATE:

Чистую Javascript Ответ:

document.getElementById('myBtn').onclick=function(){ 
    // set you style 
    that.style.strokeStyle = "#D55151"; // var that = this; 
}; 
+0

да, но как я могу назвать this.style = стиль штриха "" –

+0

i обновил ответ –

+1

Из тега 'javascript': * Если тег для фреймворка/библиотеки также включен, ожидается чистый ответ на JavaScript. * – Quentin

-1

вы можете добавить :

function(config, style) { 
    this.style = style || this.style = { 
      tool: "brush", 
      globalAlpha: 1, 
      globalCompositeOperation: "source-over", 
      strokeStyle: "#000", 
      lineWidth: 5, 
      lineCap: "round", 
      lineJoin: "round" 
     }; 
} 

и назвать его как

$("#somebutton").on("click", function() { 
    Sketch({config}, {overides style}); 
}); 

или еще лучше, если вы используете JQuery подчеркивания:

function(config, style) { 
    this.style = $.extend({ 
      tool: "brush", 
      globalAlpha: 1, 
      globalCompositeOperation: "source-over", 
      strokeStyle: "#000", 
      lineWidth: 5, 
      lineCap: "round", 
      lineJoin: "round" 
     }, style); 
} 

Я предпочитаю второе решение намного безопаснее ...