繁体   English   中英

netsuite是否支持preventDefault()?

[英]does netsuite support preventDefault()?

我正在使用Bootstrap创建标签内容。 在netsuite外部工作正常。 但是一旦将此页面放入netsuite,它就会给我一个错误,提示"Cannot assign to read only property 'preventDefault' of error"

我的页面是这样的

HTML:

<ul id="hireTab" class="nav nav-tabs" data-tabs="tabs">
     <li class="active"><a href="#tabOne" data-toggle="tab">One</a>
     <li class="active"><a href="#tabTwo" data-toggle="tab">Two</a>
     <li class="active"><a href="#tabThree" data-toggle="tab">Three</a>
</ul>

<div  class="tab-content">
    <div id="tabOne" class="tab-pane active">
        One, one one
    </div>
    <div id="tabTwo" class="tab-pane active">
        Two, two two
    </div>
    <div id="tabThree" class="tab-pane active">
        Three, three three
    </div>
</div>

JS:

<script type="text/javascript">
    jQuery(function() {
       jQuery('#hireTab a').click(function(e) {
           e.preventDefault();
           jQuery(this).tab('show');
       });
    });
</script>

仔细查看,我发现更改选项卡有效。 但是选项卡更改后,preventDefault不会停止页面混乱。

知道为什么是这样或任何解决方案吗? 我是netsuite的新手,所以如果这个问题很愚蠢,请多多包涵。

更新:1个小时的谷歌搜索使我转到此页面。 http://backbonejs.org/#Router这样看来,骨干网正在劫持我的浏览器并改变了它的行为。

语法href =“#xxx”被主干截获并解释为“ HOME_URL / xxx”。

现在的问题是,当我不想弄乱主干代码而又不确定是否会影响项目的其他部分时,如何阻止主干这样做。

我的临时解决方案是event.stopPropagation()

最终的工作代码是:

<script type="text/javascript">
    jQuery(function() {
       jQuery('#hireTab a').click(function(e) {
           e.preventDefault();
           e.stopPropagation();
           jQuery(this).tab('show');//Maybe this line is not needed
       });
    });
</script>

该功能的作用是杀死请求并阻止其进入DOM树。

说明:防止事件使DOM树冒泡,从而防止任何父处理程序收到该事件的通知。

这是一种残酷的方式。 我肯定有更多的优雅或本机可以使它工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM