javascript - netsuite是否支持preventDefault()?

标签 javascript twitter-bootstrap backbone.js netsuite

我正在使用 Bootstrap 创建选项卡内容。它在 netsuite 之外运行良好。但是一旦我将此页面放入 netsuite 中,就会出现错误,提示 “无法分配给错误的只读属性 'preventDefault'”

我的页面是这样的

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 小时的谷歌搜索 Bootstrap 我到达此页面。 http://backbonejs.org/#Router 所以看来主干正在劫持我的浏览器并改变它的行为。

语法href="#xxx"被backbone拦截并解释为“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 树向上爬。

Description: Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event.

这是一种残酷的做法。我确信有更优雅或更原生的方法可以让它发挥作用。

关于javascript - netsuite是否支持preventDefault()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30249940/

相关文章:

javascript - 理解 Javascript 原型(prototype)链

javascript - 查找特定周长内的坐标的最快方法是什么?

javascript - 更新 FB :Like URL Dynamically using JavaScript

javascript - 使用 Javascript 的 Bootstrap 列过滤器

javascript - 无法测试去抖动的 Backbone View 事件

javascript - 我如何知道我的集合已经包含使用 Backbone.JS 的数据?

javascript - 当变量的属性改变时触发事件

html - IE/FF 中缺少表单文本区域调整大小图标/句柄?

twitter-bootstrap - Bootstrap 3 验证状态与输入组

javascript - backbone.js model.set 不工作