如何使我的网页意识到,没有在页面加载存在的按钮

问题描述 投票:0回答:3

我有一个.aspx页,包含了所有我.jsJavaScript单独jQuery文件。该网页还具有不上的页面加载存在UserControl,只有被点击某个按钮时,会出现。而UserControl包含,除其他事项外,一个JavaScript按钮。

我遇到的问题是连接新创建JavaScript按钮没有在页面加载存在于我的.js文件。

起初,我尝试添加一个jQuery选择得到了UserControl到这是在这样我现有的document.ready()文件.js里面住的按钮:

$(".TheClassOnMyUserControlButton").click(function () { // do stuff here }

但我无法得到它的任何东西我试图做出回应。所以我把我的jQuery一个<script>标签内的UserControl页面本身和按钮突然开始响应。

因为我已经认识到,在jQuery选择不是从.js文件工作的原因是因为该按钮没有在页面加载存在,你无法选择不存在的事情,现在是有道理的。

所以,我的伪菜鸟开发者的大脑开始试图找出我怎么能刷新document.ready().js文件一旦UserControl是在网页上,这样它会觉察到新创建的UserControl及其按钮。

我问另一位开发者,我与它的工作,他们说去尝试bind.jquery没有解释如何。

谷歌搜索,导致我在这里像往常一样,我的jQuery文档中看到,其bind()方法已被弃用,他们建议使用on()代替。

我想我明白了其他开发商的意思,我知道我想要做的,但我发现了一个有点模糊的方式,我不完全知道如何使用on()达到我想要做的事。

我知道我可以只留下<script>UserControl标签,但我想,如果我可以让我的所有JavaScriptjQuery在一个地方。

没有人有任何建议或东西我可以尝试?

我感谢所有帮助任何人都可以提供。

谢谢

javascript c# jquery asp.net user-controls
3个回答
0
投票

你有很多选择绑定一个事件的按钮。

1)简单地编写一个函数,它绑定到你想要的事件的按钮。例如:

<script>function doStuff(){
    ....
    }
</script>
<button onclick="doStuff()">Do Something</button>

2)你有你的功能,在您所创建的按钮的那一刻绑定。例如:

$('#Container').append('.button');
$('.button').on('event',doStuff);

对于深度的回答更我有看到你的代码


0
投票

您可以通过查看整个文档绑定jQuery方法或使用“的”法事件,然后在“开”的方式指定了正确的选择。希望是有道理的。您可以查看下面的例子。

$(document).on("click", ".className", function (){ /*code here*/ });

0
投票

事先创建按钮,隐藏它。然后,显示在其他操作的情况下,该按钮/节/面板。

C# code behind
control.Visible = false;
control.Visible = true;

or

Jquery/bootstrap front end
$('#myElementID').addClass('hidden');
$('#myElementID').removeClass('hidden');
© www.soinside.com 2019 - 2024. All rights reserved.