jQuery委托和preventDefault()

时间:2014-08-07 04:09:39

标签: javascript jquery

以下preventDefault()实现无效。

我收到错误“Uncaught TypeError:undefined不是一个函数。我可以在调试器中看到'ev',它看起来像一个完全成熟的事件。

我正在尝试分解我正在调试的另一件事的代码。

HTML:

<body>
<a data-action="custom-modal" href="test_modal_content1.html">Test 1</a>
<a data-action="custom-modal" href="test_modal_content2.html">Test 2</a>
<div class="modal modal-6 fade" id="modal-form" role="dialog" arialabelledby="modalFormLabel" aria-hidden="true">
<div class="modal-content"></div>
</div>
</body>

脚本:

function TestModal() {}

TestModal.prototype.toggleModal = function () {
  $('body').delegate('a[data-action=custom-modal]', 'click', function (ev) {
    $(ev).preventDefault();
  });
};

var testModal = new TestModal();
testModal.toggleModal();

请参阅fiddle

由于

1 个答案:

答案 0 :(得分:6)

只需使用

 ev.preventDefault();

而不是

 $(ev).preventDefault();