Protovis JavaScript没有't在dropdownlist onchange事件中工作
Protovis JavaScript doesn't work in dropdownlist onchange event
我注意到了以下问题。当我删除任何一个代码块时,任何一个都能很好地工作,但当我把它们放在一起时,只有一个能工作。
我正试图使用onchange
事件从dropdownlist
调用一个方法,但在添加Protovis/JavaScript代码时失败了。
<script type="text/javascript">
function getDate()
{
alert("dateValue");
}
</script>
<script type="text/javascript+protovis">
function Colour(color) {
new pv.Panel()
.width(12)
.height(20)
.anchor("center").add(pv.Dot)
.strokeStyle(null)
.fillStyle(color)
.radius(5)
.root.render();
}
</script>
<select name="mydropdown" onchange="getDate(this)">
<option value="None">Select Date</option>
</select>
我想让他们两个都正常工作。
上面的代码在这里按预期工作:http://jsfiddle.net/nrabinowitz/NAEku/
但是,当我在页面的其他地方实际调用Colour()
函数时,出现了一个错误,我猜这就是问题的根源。这里的问题是,当您将script
块与type="text/javascript+protovis"
一起使用时,页面完全加载后,Protovis库会对其进行评估,因此您在javascript+protovis
块中定义的任何函数或变量在页面下方的普通脚本块的全局范围中都不可用。
所以我的猜测是,您试图在Protovis块被评估之前调用Colour()
。由于您没有使用任何特殊的Protovis语法,因此本例的快速解决方案是将script
块更改为type="text/javascript"
,这将使其正常求值。
更新,功能jsFiddle在这里:http://jsfiddle.net/nrabinowitz/NAEku/1/
相关文章:
- Onchange没有'不要显示或隐藏Div
- Javascript Select OnChange没有'不要第二次工作
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- onChange 函数更改表中显示的数据
- Javascript onchange()函数不起作用
- 在表单OnChange中交换数字顺序
- onchange值为select的重载页面
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- 选择标记onchange不适用于移动设备
- jQuery body onChange具有多个元素和多个函数
- 如何在jQuery中为asp:textbox生成onchange事件
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 当select标记触发onChange事件时,从mysql数据库加载html表
- Jquery change onchange in onload
- 从javascript调用服务器端的下拉列表onchange函数
- 获取关联单元格onchange的值