将此变量传递给所有浏览器的javascript方法的安全方法

时间:2014-07-24 20:17:11

标签: javascript asp.net

我有ASPX

<script type="text/javascript">

    function clickCheckBox(event) {
        if (event.className == "icon-check-empty icon-large"){
            event.className = "icon-ok icon-large";
        }else if(event.className == "icon-ok icon-large"){
            event.className = "icon-check-empty icon-large";
        } else {
            alert("Problem:  " + event.className);//TODO:  log error
        }
    }

</script>

...

<div class="check-box-column camera-column-padding">
    <span id="spCheckBox" runat="server">
        <i id="cameraSelectCheckBox" class="<%# (bool)Eval("Checked") ? "icon-ok icon-large" : "icon-check-empty icon-large" %>"   style="cursor:pointer;" onclick="clickCheckBox(this)"></i>
    </span>
</div>

我主要关注javascript部分。我将this传递给函数调用(event)。然后我只需要event.className来更改类类型。我在看this older answer。我想知道是否可以按原样对所有浏览器执行此操作,还是应该针对不同的浏览器(如链接解决方案)进行不同的操作?

1 个答案:

答案 0 :(得分:0)

是的,这很好。另一个答案提倡Unobtrusive JavaScript,这当然有其优点,但不是获得工作代码的要求。

一个建议是调用参数element而不是event,因为调用它event可能会导致混淆,因为它暗示参数将是事件对象,而不是目标元素。