在CakePhp JsHelper中使用.on()而不是.bind()

时间:2014-02-14 12:25:48

标签: javascript jquery cakephp

我使用CakePHP的JsHelper在我的代码中生成一些Ajax。当我使用

$this->Js->get('#searchCity')->event(
        'click', $this->Js->request(
                'http://api.geonames.org/searchJSON', array(
            'async' => true,
            'dataExpression' => true,
            'method' => 'GET',
            'data' => "{}",
            'dataType' => 'JSON',
            'success' => ""
                )
        )
);

帮助器输出是这样的

$(document).ready(function() {
    $("#searchCity").bind("click", function(event) {
        $.ajax({async: true, data: {},
            dataType: "JSON", success: function(data, textStatus) {
            }, type: "GET", url: "http:\/\/api.geonames.org\/searchJSON"});
        return false;
    });
});

显然,某些版本的Internet Explorer在处理.bind()函数时遇到问题,因此此代码不适用于IE。

我读到.on()函数是一个很好的替代品。

问题是:我可以在不触及CakePHP核心的情况下替换.bind() .on()吗?还是有其他聪明的解决方案吗?

0 个答案:

没有答案