0

this is a very simple question, but i have just started using jQuery for the fist time...

The question: why does this function not trigger?

$('#compare').mergely('get', 'rhs').on('change', function() {
      alert("The text has been changed.");
});

Thanks.

4

3 回答 3

0

您的代码不起作用有几个原因。首先,从您的示例来看,您似乎是在DOM Ready之前触发的。要解决这个问题,请包围所有需要执行的代码

$(document).ready(function(){

    // All of your code goes here.

});

最后,您似乎正在尝试onchange在不可能的情况下使用事件。阅读Mergely one 的手册可以很容易地看到您不能直接使用该on方法绑定事件。相反,您可以使用cmsettingswhich stand for CodeMirror设置来做到这一点。通过他们的 API,我看到您可以附加诸如change和之类的事件beforeChange

我想这应该可以满足您的需求,尽管我从未使用过这些插件。

于 2013-05-25T15:29:40.533 回答
0

来自 jQuery API .on('change',handler)

当元素的值改变时,change 事件被发送到元素。此事件仅限于<input>元素、<textarea>框和<select>元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时会立即触发该事件,但对于其他元素类型,该事件会延迟到元素失去焦点为止。

除了不是这些类型之一的元素之外,我怀疑该mergely调用返回的不是 jQuery 对象,它不适用于该函数。

http://api.jquery.com/change/

于 2013-05-25T15:26:38.393 回答
0

我相信#compare 没有要触发的onchage,我看到了mergely 插件,看起来你将它绑定到了一个div。所以这就是为什么它不会工作。

于 2013-05-25T15:20:59.160 回答