1

我尝试在页面中注入一个按钮,我想让它可以点击,但它似乎根本不起作用。

$(".something").append('<button style="background-image: \
-webkit-gradient(linear, left bottom, left top, color-stop(0.3, rgb(255,170,0)),\
color-stop(0.85, rgb(222,133,0)) ); height: 28px; padding-top: 5px; \
padding-bottom: 5px; padding-left: 10px; padding-right: 10px; \
border-top-left-radius: 4px; border-top-right-radius: 4px; \
border-bottom-left-radius: 4px; border-bottom-right-radius: 4px;" \
type="button" onclick="alert("lelele");"><span style="color: #fff;">\
Button</span></button>');

我在网上搜索并尝试了最简单的解决方案:警报功能,即使这样也不起作用。

4

3 回答 3

3

问题在于逃跑....

onclick="alert(\'lelele\');"

但我更喜欢在委托事件上使用

 $(function(){
  $('.something').on('click','button',function(){
     alert('lelele');
  })
 });

这不需要难以阅读和调试的内联 onclick javascript 事件......

onclick="alert("lelele");"从按钮中删除

于 2013-04-11T09:31:20.583 回答
1

您的报价不匹配,请尝试转义内部报价。

onclick="alert(\'lelele\');"

也就是说,onclick 是旧的做事方式,您将获得更简洁的代码,避免使用内联 JavaScript(如 bipen 建议的那样)。

$(".something")
    .append('<button class="myClass">Button</button>') // no CSS or inline JavaScript
    .on("click", "button", function() { // delegation syntax
        alert("lalala");
    });

在此处阅读有关事件委托语法的更多信息

还将您的样式移动到 css 文件中!:)

于 2013-04-11T09:32:59.380 回答
0

在 onclick 参数中使用简单的引号。您必须转义它们,因为您在附加函数中使用它们作为分隔符。

onclick="alert(\'lelele\');"
于 2013-04-11T09:31:25.287 回答