0

我正在www.sitetwo.com使用一些名为 from 的脚本生成一个表单www.siteone.com。由于我必须将表单提交www.sitetwo.comwww.siteone.com,因此我正在使用 JSONP 方法使用 Ajax。但是,生成的表单不支持任何脚本。我的代码在这里:

   //script in www.sitetwo.com
    <script type="text/javascript">
    window.onload = function () {
        "use strict";
        function js(n) {
            var s = document.createElement('script');
            s.setAttribute("type", "text/javascript");
            s.setAttribute("src", n);
            document.getElementsByTagName("head")[0].appendChild(s);
        }
        js("http://www.siteone.com/script.js");
    };
    $(document).ready(function(){
    $=jQuery.noConflict();
    $(".submitbutton").hover(function(){
      alert("hai");
    }
    </script>
    <div id="newform">
    </div>

在 id 为 newform 的 div 中动态渲染的表单如下:

<form>
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="go" class="submitbutton">
</form>

我尝试应用悬停警报的基本脚本。但它不起作用。我们不能直接将这样的脚本用于动态生成的表单。如果是这样,我们如何克服这个问题。我在浏览器中搜索了错误。没有显示错误。有什么办法可以解决??

4

3 回答 3

2

您正在动态生成表单,以将一些事件应用于您必须使用的动态元素.on(),另一件事是将事件更改为mouseentermouseleave代替hover

尝试这个:

$(document).on('mouseenter', '.submitbutton', function(){
  alert("hai");
}
于 2013-08-22T12:46:43.007 回答
2

在这种情况下您不能使用悬停,需要使用事件mouseentermouseleave使用委托事件处理程序

.hover()不是事件,它是注册 mouseenter 和 mouseleave 事件处理程序的辅助方法

将两个处理程序绑定到匹配的元素,当鼠标指针进入和离开元素时执行。

$(document).on('mouseenter', '.submitbutton', function(){
  alert("hai");
}
于 2013-08-22T12:49:42.190 回答
1
$(".submitbutton").hover(function(){
      alert("hai");
    }

在某一方面的变化

$(".submitbutton").on("hover",function(){
      alert("hai");
    }

参考悬停

于 2013-08-22T12:47:22.907 回答