需要帮助使用prototypeJS

时间:2015-04-16 15:05:05

标签: javascript forms events click prototype

我今天对prototypeJS有一些问题,我正在用于一个新项目,所以这是我的代码:

var div = $('addcontact');
Event.observe(div, 'click', respondToClick);
function respondToClick(event) {    
    var form = $('contactForm');
    form.setStyle(
          {display : initial}
    );
}

我不明白为什么它不起作用,$('contactForm')有一个display:none作为css属性,所以我想要点击$('addcontact')时显示它。 / p>

1 个答案:

答案 0 :(得分:0)

Prototype有两个Element方法可控制CSS display属性:show()hide(),前提是初始值设置为内嵌(就是这样)。

因此,您的代码段可以按如下方式进行优化:

Event.observe($('addcontact'), 'click', function()
{ 
    $('contactForm').show();
});

此外,show()会自动为相关元素设置相应的display属性:blockìnlinetabletable-row和等等。 hide()display设置为none

如果您想同时使用show()hide()多个元素,请使用以下表单:

$('element_1','element_2', ..., 'element_n').invoke('show');
$('element_1','element_2', ..., 'element_n').invoke('hide');

修改

如果要根据事件打开/关闭元素的display属性,则:

Event.observe($('element'),'click', function()
{
    $('otherElement').toggle();
}