2015-10-16 111 views
1

我需要创建一个应用程序,它可以改变文本框输入中Div的颜色,并在设置颜色时移除输入。我已成功使用此功能:输入上的jquery触发事件

function setColor() { 
var background = $("#colorText").val() 
$("#light1").css({"background-color":background}).show(); 
$('#colorText').val(""); 
}; 

,并呼吁通过:

$('#setColor').on('click', setColor); 

HTML:

<div class="light" id="light1"></div> 
    <div class="light" id="light2"></div> 
    <button id="setColor">Set Color</button> 
    <input type="text" id="colorText"></input> 

但我被告知我必须使用.trigger。我花了一段时间研究这项任务,但似乎无法找到如何去做。 我猜想文本框中的变化需要触发一个名为setColor的事件,它将Div的颜色更改为用户输入。

谢谢您的帮助

+0

为什么你应该这样做他们有理由吗?如果这对你有用,为什么改变它?使用'on('click',...)'实际上是一个触发函数,更多信息[** here **](http://api.jquery.com/trigger/)。 – LinkinTED

+0

这是特定的措词,但是我被告知它必须是.trigger ....'为类型为“setColor”的事件创建并注册一个回调函数。 setColor事件提供了一个定义颜色的额外参数。回调函数应该将顶部光源div的背景颜色设置为给定颜色。 “ – Noobcoder

回答

0

如果你的代码工作的方式是,不改变它。 如果你要改变它,因为它是一个要求,请阅读本:附有。对()

任何事件处理程序或当相应的事件发生时被触发的它的快捷方式方法 之一。但是,可以使用.trigger()方法手动触发 。到.trigger()的调用 在他们是,如果事件 是由用户触发自然相同的顺序执行的处理程序:

$("#foo").on("click", function() { 
    alert($(this).text()); 
}); 
$("#foo").trigger("click"); 

来源:​​