91³Ô¹ÏÍø

Watch CBS News

Rep. Seth Moulton says he stands by comments on trans athletes, calls Democrats "out of touch"

BOSTON - Rep. Seth Moulton is defending controversial remarks that he made about transgender athletes in the wake of the presidential election.

President-elect Donald Trump's campaign spent millions on anti-trans political ads this fall. The Massachusetts Congressman told  after Trump's win that "Democrats spend way too much time trying not to offend anyone" and called for a new approach from the party on the transgender issues.

"I have two little girls, I don't want them getting run over on a playing field by a male or formerly male athlete, but as a Democrat I'm supposed to be afraid to say that," Moulton told The Times.

The Boston Globe that a top aide to Moulton resigned after his comments appeared in The Times, and there were protests outside his Salem office. 

Seth Moulton defends comments on trans athletes

Moulton appeared on Sunday and did not back down from his statement.

"Look, I was just speaking authentically as a parent about one of many issues where Democrats are just out of touch with the majority of Americans," he said. "And I stand by my position, even though I may not have used exactly the right words."

Moulton said that despite the public backlash, the vast majority of feedback he's received has been "incredibly supportive."

He said fellow Democrats and Congressional colleagues have told him, "You're exactly right Seth, this is our problem. We try to cancel people rather than actually having debates about issues that Americans care about."

"We're losing on issues like this"

Congressman Seth Moulton doubled down on the comments after a Veterans Day event in Marblehead on Monday.

"I stand by them because importantly, I'm just trying to raise the debate. I'm not saying I have all the answers on this. It's not my area of expertise. But this is an example of a contentious issue that we have to be willing to take on as a Democratic Party," Moulton told WBZ. "One, we got to start winning elections and we're losing on issues like this. And two, if we don't actually define the terms of the debate then Trump and the extremist Republicans will define it for all the rest of us." 

Backlash to Seth Moulton's statement on trans athletes

On Monday, a handful of trans activists and anti-war protesters gathered outside Moulton's Veterans Day event. One of them was Kyle Davis, a Salem city councilor who is now calling for Moulton to resign.

"If the Congressman's theory of change is that we need to sell out and scapegoat every marginalized community in order to win, I don't really know what we're winning at that point," Davis said.

Moulton told WBZ that the outrage about his comments proves his point. "It's a whole variety of issues where Democrats are clearly just out of touch with most of America. And I think that's because we do too much preaching and not enough listening," Moulton said. 

LGBTQ+ advocacy group MassEquality Moulton's comments "both harmful and factually inaccurate." 

"Our community is deeply hurt by these remarks, which reinforce harmful stereotypes and undermine the dignity of transgender athletes," Executive Director Tanya Neslusan said in a statement. "We hope that by engaging with the Congressman, we can work toward a more inclusive and informed understanding of transgender issues in sports."

Massachusetts Congresswoman Ayanna Pressley did not mention Moulton by name in a Sunday, but wrote that the transgender community has been "scapegoated and dehumanized."

"I will always stand with trans people and the entire LGBTQ+ community," Pressley said. "This Congresswoman sees you and loves you."

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });